React Hook useEffect 缺少依赖项:'dispatch' 和 'init' - 在 useEffect 中使用 useDispach 时

React Hook useEffect has missing dependencies: 'dispatch' and 'init' - when using useDispach in useEffect

我正在尝试在 redux 中进行某种初始化状态,因此当应用程序加载时,应用程序将从 redux 中获取一些数据(使用 thunk)并将获取数据。

所以我只需要一次,为此我将 [] 放在 useFffect 参数中, 但我收到以下错误:

  Line 32:6:  React Hook useEffect has missing dependencies: 'dispatch' and 'init'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

我无法将 useDispatch 插入 useEffect

  const { isReady } = useSelector<AppState, AppProps>((state: AppState) => {
    return {
      isReady: state.appStatus.isReady
    };
  });

  const dispatch = useDispatch();
  const init = initilizeAction();

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

你可以将initilizeAction()移动到useEffect,并添加dispatch作为依赖(它不应该改变,所以它只会被触发一次)。

  const dispatch = useDispatch();

  useEffect(() => {
    const init = initilizeAction();
    dispatch(init);
  }, [dispatch]);