В React Hook useEffect отсутствуют зависимости: 'dispatch' и 'init' - при использовании useDispach в useEffect. - PullRequest
0 голосов
/ 23 февраля 2020

Я пытаюсь создать какое-то состояние инициализации в 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);
  }, []);

1 Ответ

1 голос
/ 23 февраля 2020

Вы можете переместить initilizeAction() в useEffect и добавить диспетчеризацию как зависимость (она не должна изменяться, поэтому она будет активирована только один раз).

  const dispatch = useDispatch();

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