使用React 16.8.6(在以前的版本16.8.3中很好),当我尝试防止在获取请求上发生无限循环时,出现此错误
./src/components/BusinessesList.js
Line 51: React Hook useEffect has a missing dependency: 'fetchBusinesses'.
Either include it or remove the dependency array react-hooks/exhaustive-deps
我一直找不到停止无限循环的解决方案。我想远离使用useReducer()
。我确实在https://github.com/facebook/react/issues/14920找到了这个讨论,在这里可能的解决方案是You can always // eslint-disable-next-line react-hooks/exhaustive-deps if you think you know what you're doing.
我不确定自己在做什么,所以我还没有尝试实现它。
我有这个当前设置,React钩子useEffect永远/无限循环连续运行,唯一的注释是useCallback()
我不熟悉的。
我目前的使用方式useEffect()
(类似于,我一开始只想运行一次componentDidMount()
)
useEffect(() => {
fetchBusinesses();
}, []);
const fetchBusinesses = () => {
return fetch("theURL", {method: "GET"}
)
.then(res => normalizeResponseErrors(res))
.then(res => {
return res.json();
})
.then(rcvdBusinesses => {
// some stuff
})
.catch(err => {
// some error handling
});
};
如果除了效果以外没有在其他地方使用fetchBusinesses方法,则可以将其移至效果中并避免出现警告
useEffect(() => {
const fetchBusinesses = () => {
return fetch("theURL", {method: "GET"}
)
.then(res => normalizeResponseErrors(res))
.then(res => {
return res.json();
})
.then(rcvdBusinesses => {
// some stuff
})
.catch(err => {
// some error handling
});
};
fetchBusinesses();
}, []);
但是,如果在渲染之外使用fetchBusinesses,则必须注意两点
fetchBusinesses
当它与它的外围封闭件支架中的二手的方法是什么?综上所述,我想说的是,如果您在fetchBusinesses
外部使用,则可以使用useEffect
禁用规则,// eslint-disable- next-line react-hooks/exhaustive-deps
否则可以将方法移到useEffect内部
要禁用该规则,您可以这样写
useEffect(() => {
// other code
...
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [])
当我在React应用程序中使用ScrollToTop组件时,浏览器中会出现以下警告: 第12:6行:React Hook useEffect缺少依赖项:“history”。包括它或删除依赖项数组react hooks/dep 我可以做什么更改来删除此警告?谢谢
我在构建我的应用程序时遇到此问题。有人知道怎么回事吗? React Hook useEffect缺少依赖项:“conectar”。包括它或删除依赖项数组react hooks/dep
在我的反应/redux应用程序中,我使用调度来调用每次安装组件时从redux中的状态检索数据的操作。问题正在使用状态发生我的方式不工作 下面是我得到的错误: React Hook useEffect缺少依赖项:“dispatch”。包括它或删除依赖项数组。像“getInvoiceData”这样的外部作用域值不是有效的依赖项,因为对它们进行变异不会重新呈现组件react HOOK/DEP 这是我的密
我试图在Tomcat服务器上部署一个基于spring的web应用程序,但我无法自动连接EntityManager。根本原因是错误。 我假设我有不正确的HibernateJAR作为依赖项。任何帮助都将不胜感激 我之前看到一篇帖子指出,问题在于包含了以下依赖项,但我不包括这一项: 以下是我的POM依赖项:
除了手动反编译类,检查它的所有依赖项,以及这些依赖项是否在类路径上,等等,对每个依赖类无限....有没有任何方法可以准确地确定类路径中缺少了哪个类,从而导致Java无法加载我的主类? 另一个问题是缺少父/接口类的问题。但是我已经手动检查了所有祖先类或者在指定的类路径上,或者在JDK中,如下所示。
我想更新商店中的值只有一次在第一次打开时,页面首次使用反应钩子打开。为此,我做了第二个参数的使用效果'[]'空列表。没有什么可以阻止它工作,但是我从ESLint规则中得到了一个警告:React Hook用效果有一个缺失的依赖项:“ChangeCount”。要么包含它,要么删除依赖数组react-追踪器/穷举-deps。如何删除此警告?