reactjs - 从 reducer 设置 useEffect 中的变量值
问题描述
我正在尝试在 useEffect 函数中设置变量的值,我想设置的值在减速器中更新,我正在使用 useSelector 在我的组件中访问它,但它不起作用。这是我的代码
const{settings} = useSelector(({Account}) => Account);
useEffect(() => {
if(settings) {
Init();
}
dispatch(getEmailSettingsAction());
}, [dispatch, settings]);
设置最初在减速器中为空,我想在减速器在getEmailSettingsAction
调度后更新它的值时调用 init 函数。我怎样才能实现它?
解决方案
useEffect(() => {
dispatch(getEmailSettingsAction());
}, [dispatch]);
useEffect(() => {
if(settings) {
Init();
}
}, [settings]);
这应该有效。除非您从 useSelector 获得正确的设置值。
推荐阅读
- sql-server - SSIS - 如何从 SSIS 中的文件中传递良好的记录,而不是由于记录不良而使包失败
- javascript - 尝试为测试呈现反应组件时出错
- javascript - React 中的 reducer 有问题
- php - Laravel apis 无法在 https 上运行并给出错误 NET::ERR_CERT_COMMON_NAME_INVALID
- apache-spark - 如何在 Spark 中两两匹配行?
- c - 汇编中的 C while 循环
- firebase - Flutter Web:未捕获(承诺)错误:[cloud_firestore/unknown] NoSuchMethodError:null 上的无效成员:'includeMetadataChanges'
- google-apps-script - google App Script:如何在发送电子邮件时设置条件规则?
- c - 编辑字符串而不更改非字母字符
- python - 在 python 中快速将产品解析为单项式?