React Native钩子中空依赖数组引起Linter警告。

4
在React Native中,useEffect可以使用空的依赖数组(这通常是出于合法原因而故意这样做)。 在useEffect中,不提供依赖数组和提供一个空数组有什么区别? 然而,Linter一直在抱怨并建议添加某些参数作为依赖数组的元素,或者将其删除。对我来说,删除依赖数组不是一个选项。我应该接受Linter的建议并向依赖数组中添加一长串项目吗?还是有一种简单的方法可以更改Linter设置?
2个回答

6
据我所知,react-hooks/exhaustive-deps的代码规范没有相关的配置,但你可以忽略某一行的ESLint代码规范限制。
如果确实希望在组件挂载时仅运行一次特定的 effect,那么使用空依赖项数组是正确的。你可以禁用该行的 ESLint 规则以忽略它。
useEffect(() => {
  ... business logic ...

  // NOTE: Run effect once on component mount, please
  // recheck dependencies if effect is updated.
  // eslint-disable-next-line react-hooks/exhaustive-deps
}, []);

注意:如果您稍后更新了效果,并且它需要在其他依赖项之后运行,则此禁用注释可能会掩盖未来的错误,因此我建议留下一个相当明显的注释,以说明覆盖已建立的代码规范的原因。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接