Reactjs 如何配置eslint规则以全局忽略react hook/dep?

Reactjs 如何配置eslint规则以全局忽略react hook/dep?,reactjs,typescript,eslint,eslintrc,typescript-eslint,Reactjs,Typescript,Eslint,Eslintrc,Typescript Eslint,我有一个带有useEffect钩子的react组件,如下所示: const LocationEditor: React.FC<SectionEditorProps> = (props) => { const [section, setSection] = useState({...(props.section as Location)}); useEffect(() => { props.onChange(section); }, [section]); 所以我

我有一个带有useEffect钩子的react组件,如下所示:

const LocationEditor: React.FC<SectionEditorProps> = (props) => {
const [section, setSection] = useState({...(props.section as Location)});
useEffect(() => {
    props.onChange(section);
}, [section]);
所以我试着把组件改成这样,分解道具:

const LocationEditor: React.FC<SectionEditorProps> = ({section, onClickCancel, onClickSave, onChange}) => {
    const [tmpSection, setSection] = useState({...(section as Location)});
    useEffect(() => {
        onChange(tmpSection);      
    }, [tmpSection]);
但是,当我将下面的块添加到
package.json
中的
eslintConfig
中时,它似乎没有做任何事情:

{
  "plugins": [
    "react-hooks"
  ],
  "rules": {
    "react-hooks/rules-of-hooks": "error",
    "react-hooks/exhaustive-deps": "off"
  }
}
我看到一些人在谈论使用
.eslinrc
文件,但我认为您也可以在
package.json
中全局配置规则,而我在项目中找不到该文件


这里有我遗漏的东西吗?

不要禁用。这条规则已经过测试和重新测试,如果不比任何其他ESLint规则多的话,也会受到战争创伤和探索

我也认为我知道的更多。但我们都不知道。不要禁用它,相信我,它比你我都清楚。我也去过那里


按照规定去做,如果它破坏了你的应用程序,你会很高兴,因为它免费为你发现了一个bug,你应该修复它,而不是强迫你的应用程序工作。

这几乎可以肯定是一个错误。只需将
onChange
函数放入依赖项数组中。为什么每个人都对Facebook团队使用的工具做出反应,告诉他们他们可能做错了什么,然后马上就想扔掉这个工具?我意识到不仅仅是你,我们一直在反应标签上写着这个问题,它总是让我感到惊讶…谢谢!这很有帮助。基本上,我是这样修正的:承认禁用这条规则是个坏主意,对于我们这些顽固的人来说,有一个答案仍然是件好事。链接的答案并没有解决package.json配置似乎被忽略的问题。谢谢!根据上面的评论修复了它。谢谢你的帮助。
// eslint-disable-next-line react-hooks/exhaustive-deps
{
  "plugins": [
    "react-hooks"
  ],
  "rules": {
    "react-hooks/rules-of-hooks": "error",
    "react-hooks/exhaustive-deps": "off"
  }
}