【发布时间】:2020-03-18 19:26:44
【问题描述】:
这是有效的useEffect 代码:
useEffect(() => {
if (state.companyId !== undefined && state.companyId === -1) {
return;
}
if (accessNotesRef.current) {
accessNotesRef.current.focus();
}
if (vinRef.current) {
vinRef.current.focus();
}
}, []);
在依赖方面,我非常刻意希望它在加载时只运行一次,因此[]。但是 linter 在抱怨:
React Hook useEffect 缺少依赖项:'emailRef', “lastNameRef”和“state.companyId”。包括它们或删除 依赖数组 react-hooks/exhaustive-deps
所以我们有一个误报案例。有没有办法抑制这种情况?
【问题讨论】:
-
大多数 linter 都有一种方法来抑制单个行的警告/错误。查看您正在使用的 linter 的文档。
-
你用什么 linter?这是一个非常具体的问题,不是一个通用的问题
-
@RaulRene:很抱歉!在 Mac 上的 VSCode 中,我使用
ESLint和FlowLanguageSupport。但是这些不是在我的终端会话中输出消息的,是吗?我曾假设这些消息来自npm start使用的某个包。
标签: reactjs use-effect linter