在 useEffect 中使用 useSelector 值时获得无限循环

时间:2021-06-03 16:12:58

标签: javascript reactjs redux react-redux use-effect

Info => 我正在从后端获取数据,reducer 值 "currentUser" 在从数据库获取数据之前为 null。一旦我得到数据,我就会在我的组件中初始化它 useState()。

问题 => 每当我尝试检查减速器值中是否有数据时,它都会给我无限循环。

这是一段代码

     const currentUser = useSelector((state) => state.userReducer.currentUser);

      const [userInfo, setUserInfo] = useState({
        name: "",
        email: "",
      });

    useEffect(() => {
      dispatch(getCurrentuserAction(user?.result?.email));
      if (currentUser) setUserInfo(currentUser);
    }, [currentUser, dispatch, user?.result?.email]);     //Here is issue

但是如果我不在 useEffect 的依赖项中使用“currentUser”,它可以正常工作,但该值不会出现在第一次渲染中。

0 个答案:

没有答案