eslint-plugin-react-hooks
ESLint rules for React Hooks
Last updated 3 years ago by gnoff .
MIT · Repository · Bugs · Original npm
$ cnpm install eslint-plugin-react-hooks 
SYNC missed versions from official npm registry.

eslint-plugin-react-hooks

This ESLint plugin enforces the Rules of Hooks.

It is a part of the Hooks API for React.

Installation

Note: If you're using Create React App, please use react-scripts >= 3 instead of adding it directly.

Assuming you already have ESLint installed, run:

# npm
npm install eslint-plugin-react-hooks --save-dev

# yarn
yarn add eslint-plugin-react-hooks --dev

Then extend the recommended eslint config:

{
  "extends": [
    // ...
    "plugin:react-hooks/recommended"
  ]
}

Custom Configuration

If you want more fine-grained configuration, you can instead add a snippet like this to your ESLint configuration file:

{
  "plugins": [
    // ...
    "react-hooks"
  ],
  "rules": {
    // ...
    "react-hooks/rules-of-hooks": "error",
    "react-hooks/exhaustive-deps": "warn"
  }
}

Advanced Configuration

exhaustive-deps can be configured to validate dependencies of custom Hooks with the additionalHooks option. This option accepts a regex to match the names of custom Hooks that have dependencies.

{
  "rules": {
    // ...
    "react-hooks/exhaustive-deps": ["warn", {
      "additionalHooks": "(useMyCustomHook|useMyOtherCustomHook)"
    }]
  }
}

We suggest to use this option very sparingly, if at all. Generally saying, we recommend most custom Hooks to not use the dependencies argument, and instead provide a higher-level API that is more focused around a specific use case.

Valid and Invalid Examples

Please refer to the Rules of Hooks documentation and the Hooks FAQ to learn more about this rule.

License

MIT

Current Tags

  • 0.0.0-57333ca33                                ...           canary (6 years ago)
  • 0.0.0-experimental-94c0244ba                                ...           experimental (5 years ago)
  • 4.6.0                                ...           latest (3 years ago)
  • 5.0.0-next-6eadbe0c4-20230425                                ...           next (2 years ago)
  • 0.0.0-da834083c                                ...           unstable (5 years ago)

30 Versions

  • 5.0.0-next-6eadbe0c4-20230425                                ...           2 years ago
  • 5.0.0-next-4fcc9184a-20230217                                ...           3 years ago
  • 5.0.0-next-5379b6123-20230105                                ...           3 years ago
  • 5.0.0-next-2cf4352e1-20221011                                ...           3 years ago
  • 5.0.0-next-3d615fc14-20220919                                ...           3 years ago
  • 4.7.0-next-a4bed4696-20220627                                ...           3 years ago
  • 4.6.0                                ...           3 years ago
  • 4.6.0-next-2c68776ab-20220525                                ...           3 years ago
  • 4.2.1-rc.3                                ...           3 years ago
  • 4.6.0-next-52c434be1-20220512                                ...           3 years ago
  • 4.5.0                                ...           3 years ago
  • 4.2.1-rc.0                                ...           4 years ago
  • 4.2.1-beta-24dd07bd2-20211208                                ...           4 years ago
  • 4.3.0                                ...           4 years ago
  • 4.2.1-alpha-64931821a-20210808                                ...           4 years ago
  • 4.2.0                                ...           5 years ago
  • 4.1.0-rc.0                                ...           5 years ago
  • 0.0.0-experimental-94c0244ba                                ...           5 years ago
  • 4.0.8                                ...           5 years ago
  • 0.0.0-7f28234f8                                ...           5 years ago
  • 0.0.0-experimental-7f28234f8                                ...           5 years ago
  • 4.0.7                                ...           5 years ago
  • 0.0.0-da834083c                                ...           5 years ago
  • 0.0.0-33c3af284                                ...           5 years ago
  • 4.0.4                                ...           5 years ago
  • 0.0.0-experimental-33c3af284                                ...           5 years ago
  • 0.0.0-57333ca33                                ...           6 years ago
  • 2.5.1                                ...           5 years ago
  • 1.6.1                                ...           6 years ago
  • 1.7.0                                ...           6 years ago
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (0)
None
Dev Dependencies (4)
Dependents (0)
None

Copyright 2013 - present © cnpmjs.org