首页 > 解决方案 > 从 reducer 设置 useEffect 中的变量值

问题描述

我正在尝试在 useEffect 函数中设置变量的值,我想设置的值在减速器中更新,我正在使用 useSelector 在我的组件中访问它,但它不起作用。这是我的代码

const{settings} = useSelector(({Account}) => Account);


 useEffect(() => {
    if(settings) {
      Init();
    }
    dispatch(getEmailSettingsAction());
  }, [dispatch, settings]);

设置最初在减速器中为空,我想在减速器在getEmailSettingsAction调度后更新它的值时调用 init 函数。我怎样才能实现它?

标签: reactjsreduxreact-redux

解决方案


useEffect(() => {
    dispatch(getEmailSettingsAction());
  }, [dispatch]);

useEffect(() => {
    if(settings) {
      Init();
    }
  }, [settings]);

这应该有效。除非您从 useSelector 获得正确的设置值。


推荐阅读