Enable linter rules to use `useEffect` instead of `React.useEffect` (named export instead of full export)

545 Views Asked by At

In our codebase we always wanna use

import { useEffect } from 'react';

instead of

import React from 'react';
// use in code as `React.useEffect`

Is it possible to achieve it with eslint longer rules? If yes then how?

Are there existing solutions? And if there isn't existing solution then how to write a custom one?

We wanna use such rules only for the react dependency.

1

There are 1 best solutions below

0
Jerryh001 On BEST ANSWER

use no-restricted-imports to limit the import of React (default):

"no-restricted-imports": [
  "error",
  {
    "paths": [
      {
        "name": "react",
        "importNames": ["default"],
        // "message": "some messages for who import 'React' accidentally"
      }
    ]
  }
],