gpt4 book ai didi

javascript - Linter 提示 React Native Hook 中的依赖项数组为空

转载 作者:行者123 更新时间:2023-12-05 01:54:23 25 4
gpt4 key购买 nike

在 React Native useEffect 中,使用空的依赖项数组是可以接受的(这通常是出于正当理由有意这样做的)。

In useEffect, what's the difference between providing no dependency array and an empty one?

然而 Linter 一直提示并建议将某些参数添加为依赖项数组的元素或将其删除。删除依赖项数组对我来说不是一个选项。我应该接受 Linter 的建议并将一长串项目添加到依赖项数组吗?或者是否有更改 Linter 设置的简单方法?

最佳答案

据我所知,react-hooks/exhaustive-deps linting 规则没有配置,但您可以忽略特定行的 eslint 规则。

如果您真的希望效果只在组件安装时恰好运行一次,那么您使用空依赖数组是正确的。您可以禁用该行的 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
}, []);

注意:如果您稍后更新效果并且它需要在其他依赖项之后运行,那么这个禁用的注释可能会掩盖 future 的错误,所以我建议留下一个相当公开 关于覆盖已建立的 linting 规则的原因的评论。

关于javascript - Linter 提示 React Native Hook 中的依赖项数组为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70677734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com