What's Changed
🐞 Fixes
react-x/immutability: no longer reports rebinding a plain local alias of props/state as a mutation; destructured props rebinding and member writes through aliases are still reported. (#1995)react-x/set-state-in-render:setStatecalls after nested component or hook declarations are now attributed to the outer component again. (#2004)react-x/set-state-in-render: anonymous callbacks passed directly tomemo()/forwardRef()are now treated as component render functions. (#1998)react-web-api/no-leaked-fetch: signal alias chains are now resolved recursively, so fetches with aliased signals correctly pair with their cleanupabortcall. (#1997)react-web-api/no-leaked-event-listener: bare globaladdEventListener(...)calls now pair with matchingremoveEventListener(...)cleanup calls. (#1996)react-web-api/no-leaked-event-listener: asignaldestructured fromnew AbortController()is now recognized. (#2001)react-web-api/no-leaked-resize-observer/react-web-api/no-leaked-intersection-observer:disconnect()/unobserve(...)now only count as cleanup in the cleanup phase;useRef-held observer instances are tracked;unobserve(...)inside the observer callback no longer pairs withobserve(...). (#2002, #2003)
🏗️ Internal
- Bumped
typescript-eslintto8.71.1andpostcssto8.5.29.
Full Changelog: v5.24.6...v5.24.7
Attestation
https://github.com/Rel1cx/eslint-react/attestations/53358720