Reactjs 错误:React Hook useEffect缺少依赖项:';调度';。包括它或删除依赖项数组

Reactjs 错误:React Hook useEffect缺少依赖项:';调度';。包括它或删除依赖项数组,reactjs,dependencies,dispatch,Reactjs,Dependencies,Dispatch,正在尝试调度操作,但我在终端中遇到此错误 错误:React Hook useEffect缺少依赖项:“dispatch”。包括它或删除依赖项数组 但是我的代码不会在屏幕上显示 功能页(道具){ const dispatch=usedpatch(); const[Total,setTotal]=useState(0); const[ShowTotal,setShowTotal]=useState(false); const[ShowSuccess,setShowSuccess]=useState(

正在尝试调度操作,但我在终端中遇到此错误

错误:React Hook useEffect缺少依赖项:“dispatch”。包括它或删除依赖项数组

但是我的代码不会在屏幕上显示

功能页(道具){
const dispatch=usedpatch();
const[Total,setTotal]=useState(0);
const[ShowTotal,setShowTotal]=useState(false);
const[ShowSuccess,setShowSuccess]=useState(false);
useffect(()=>{
让cartItems=[];
if(props.user.userData&&props.user.userData.cart){
如果(props.user.userData.cart.length>0){
props.user.userData.cart.forEach((项目)=>{
cartItems.push(item.id);
});
分派(getCartItems(cartItems,props.user.userData.cart)),然后(
(回应)=>{
如果(response.payload.length>0){
calculateTotal(响应有效载荷);
}
},
);
}
}
},[props.user.userData]);
}

这是一条绒线规则
详尽的deps
。目的是让您只使用第二个参数中使用的道具或状态变量

因为您的第二个参数不包括
dispatch
,所以您得到了一个错误。如果在第二个参数中添加dispatch,该参数将消失

useffect(()=>{
//你的逻辑在这里
},[props.user.userData,调度])

这样做的缺点是,只要
userData
dispatch
发生更改,效果就会运行。您可以使用
//eslint禁用下一行反应钩子/穷举deps

忽略此规则这是一个linting规则
穷举deps
。目的是让您只使用第二个参数中使用的道具或状态变量

因为您的第二个参数不包括
dispatch
,所以您得到了一个错误。如果在第二个参数中添加dispatch,该参数将消失

useffect(()=>{
//你的逻辑在这里
},[props.user.userData,调度])

这样做的缺点是,只要
userData
dispatch
发生更改,效果就会运行。您可以使用
//eslint禁用下一行react hooks/deps

Hi@braspy忽略此规则。你问的问题很好。当您对答案感到满意时,请确保选择“正确答案”以结束问题(并奖励给出最佳答案的人)。当你达到15个代表点时,你也可以投票选出答案——这是对提供有用答案的人表示感谢的另一种方式。(无论是向上投票还是选择正确答案都不会让你付出任何代价——但这两种行为都会给给给你答案的人打分。)嗨@braspy。你问的问题很好。当您对答案感到满意时,请确保选择“正确答案”以结束问题(并奖励给出最佳答案的人)。当你达到15个代表点时,你也可以投票选出答案——这是对提供有用答案的人表示感谢的另一种方式。(无论是向上投票还是选择正确答案都不会让你付出任何代价——但这两种行为都会给给给你答案的人打分。)