为什么不重新渲染钩子?

问题描述 投票:0回答:2

我一直在试图弄清楚为什么在更改数据时不重新渲染钩子。我正在尝试找出答案,但是我找不到与如何使用适当的useEffect相关的任何文档

这是我正在使用的数据,我正在从商店致电用户

  const getAllUsers = useSelector((state) => state.userManagement.users);

因为我无法弄清楚这里是useEffect

 useEffect(() => {
    const fetchData = () => {
      setIsLoading(true);
      dispatch(getUsers());
      setIsLoading(false);
    };
    fetchData();
  }, [dispatch, getAllUsers]);

这将进入无限渲染

这是渲染

  return (
    <div className={classes.root}>
      <div className={classes.content}>
        {isLoading ? (
          <div> Loading...</div>
        ) : (
          <UsersTable users={getAllUsers} />
        )}
      </div>
    </div>
  );
javascript reactjs react-hooks
2个回答
0
投票
 useEffect(() => {
  const fetchData = () => {
  setIsLoading(true);
  dispatch(getUsers());
  setIsLoading(false);
  };
  fetchData();
}, []);

0
投票

这可能会解决您的问题:

useEffect(() => {
    const fetchData = () => {
      setIsLoading(true);
      dispatch(getUsers());
      setIsLoading(false);
    };
    fetchData();
  }, [isLoading]);
© www.soinside.com 2019 - 2024. All rights reserved.