在我的反应/redux应用程序中,我使用调度来调用每次安装组件时从redux中的状态检索数据的操作。问题正在使用状态发生我的方式不工作
下面是我得到的错误:
React Hook useEffect缺少依赖项:“dispatch”。包括它或删除依赖项数组。像“getInvoiceData”这样的外部作用域值不是有效的依赖项,因为对它们进行变异不会重新呈现组件react HOOK/DEP
这是我的密码:
const TableSection = () => {
const invoiceData = useSelector((state => state.tables.invoiceData));
const dispatch = useDispatch()
useEffect(() => {
dispatch(getInvoiceData());
}, [getInvoiceData]);
(...)
export default TableSection;
这不是一个错误,只是一个警告。
您可以通过在依赖数组中添加调度
来解决这个问题。
useEffect(() => {
dispatch(getInvoiceData());
}, [dispatch]);
警告消息的第二部分指出,“getInvoiceData”等外部作用域值不是有效的依赖项,因为对它们进行变异不会重新呈现组件react hooks/deps,您还需要从useEffect
hook的依赖项数组中删除getInvoiceData
函数。
任何在函数组件范围内的,参与响应数据流的,您在use效应
的回调函数中使用的,都应该添加到use效应
钩子的依赖数组中。
尽管在您的情况下,可以安全地从依赖项数组中省略dispatch
函数,因为它保证永远不会更改,但如果您将其添加为依赖项,它仍然不会造成任何伤害。
您需要向dep数组添加dispatch
函数:
const TableSection = () => {
const dispatch = useDispatch()
useEffect(() => {
dispatch(getInvoiceData());
}, [dispatch]);
将它添加到dep数组是安全的,因为它的标识在渲染中是稳定的,请参阅文档。
注意:像在React的useReucer中一样,返回的调度函数标识是稳定的,不会在重新渲染时更改(除非您更改传递到的存储,这将是非常不寻常的)。
我想更新商店中的值只有一次在第一次打开时,页面首次使用反应钩子打开。为此,我做了第二个参数的使用效果'[]'空列表。没有什么可以阻止它工作,但是我从ESLint规则中得到了一个警告:React Hook用效果有一个缺失的依赖项:“ChangeCount”。要么包含它,要么删除依赖数组react-追踪器/穷举-deps。如何删除此警告?
我在构建我的应用程序时遇到此问题。有人知道怎么回事吗? React Hook useEffect缺少依赖项:“conectar”。包括它或删除依赖项数组react hooks/dep
在我的react/redux应用程序中,每次安装组件时,我都会调用一个操作从redux中的状态检索数据。我的方法行不通 下面是我得到的错误: React Hook use效应有一个缺失的依赖项:道具。要么包含它,要么删除依赖数组。然而,当任何道具发生变化时,“道具”都会发生变化,因此首选的修复方法是将“道具”对象的结构分解为在use效应调用之外的对象,并指称在use效应反应挂钩/穷举deps中的那
我在useeffect钩子上得到以下错误。 React Hook use效应有一个缺失的依赖项:当前页面。要么包含它,要么删除依赖array.eslintreact-钩子/穷举-deps 你知道我为什么会得到这个吗? }
一旦我运行下面的代码,我得到以下错误: React Hook useEffect缺少依赖项:“list”。包括它或删除依赖项数组react hooks/dep 我找不到发出警告的理由。
我试图在Tomcat服务器上部署一个基于spring的web应用程序,但我无法自动连接EntityManager。根本原因是错误。 我假设我有不正确的HibernateJAR作为依赖项。任何帮助都将不胜感激 我之前看到一篇帖子指出,问题在于包含了以下依赖项,但我不包括这一项: 以下是我的POM依赖项: