npm / eslint-plugin-react-hooks
eslint-plugin-react-hooks
What changed in eslint-plugin-react-hooks 5, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-23.
3 breaking1 new APIs and options1 behavior and defaults2 tooling7 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initeslint-plugin-react-hooks 514 changes
Breaking changes 3
Component names must start with an uppercase letter; names such as _Button and _component are no longer accepted as components.
The plugin disallows calling hooks in async functions.
The experimental useEvent name is renamed to useEffectEvent for linting.
New APIs and options 1
The RulesOfHooks lint rule is updated with useEvent rules.
Behavior and default changes 1
Linting for use() is no longer experimental.
Tooling 2
The plugin adds support for ESLint v9.
The plugin lints for the presence of useEvent functions in dependency lists.
Fixes and other changes 7
The plugin accepts
asexpressions in callbacks.The plugin accepts
asexpressions in dependency arrays.The plugin supports Flow
asexpressions.The plugin treats React.use() the same as use().
The plugin considers dispatch from useActionState stable.
The plugin allows useEffect(fn, undefined).
The plugin checks useEvent references instead.