嗨,我在react应用程序中使用redux,我在功能组件中使用redux钩子。问题是,我想调用这个函数,只在unmount的值发生变化时才调度动作。但是它没有像预期的那样工作,它是自动调用这个函数。
const checkHasMessages = () => {
recentUSers.map((ci) => {
if (!ci.hasOwnProperty("mesg")) {
dispatch(removeRecentUser(ci.id));
}
});
};
useEffect(() => {
checkHasMessages();
}, [unmount]);
在组件挂载时,unmout状态被设置为undefined,从而触发带有eh依赖的useEffect。
可以添加if语句检查unmount的值
useEffect(() => {
if(unmount){
checkHasMessages();
}
}, [unmount]);
应该这样做(如果unmount最初设置为undefined,否则你需要根据该值创建一个检查)