Extra rules for React Hooks.
Install
npm install --save-dev eslint-plugin-react-hooks-extra
Setup
import js from "@eslint/js";
import reactHooksExtra from "eslint-plugin-react-hooks-extra";
import tseslint from "typescript-eslint";
export default tseslint.config({
files: ["**/*.ts", "**/*.tsx"],
extends: [
js.configs.recommended,
tseslint.configs.recommended,
reactHooksExtra.configs.recommended,
],
languageOptions: {
parser: tseslint.parser,
parserOptions: {
projectService: true,
tsconfigRootDir: import.meta.dirname,
},
},
rules: {
"react-hooks-extra/no-unnecessary-use-prefix": "warn",
"react-hooks-extra/prefer-use-state-lazy-initialization": "warn",
},
});
Rules
https://eslint-react.xyz/docs/rules/overview#hooks-extra-rules
v1.51.2 (2025-06-08)
🐞 Fixes
- fix: skip function components without name in
react-x/prefer-read-only-props
by @Rel1cx in https://github.com/Rel1cx/eslint-react/pull/1125
🪄 Improvements
- docs: update references from 'Language Config' to 'Project Config' across documentation by @Rel1cx in https://github.com/Rel1cx/eslint-react/pull/1126
Full Changelog: https://github.com/Rel1cx/eslint-react/compare/v1.51.1...v1.51.2