Задать вопрос
@cloudz

Зачем передавать dispatch в зависимости хука?

Зачем передавать dispatch в зависимости хука?

Например часто вижу использование хука useEffect, в зависимостях которого указан dispatch
[arg1, arg2, dispatch], зачем это делается?

И можно ли в useEffect использовать функцию, в которой что-то диспатчится, но диспатч создать внутри функции? или правильней передать его аргументом этой функции?
Например:
someFunc () {
  const dispatch = useDispatch()
  dispatch(something)
}

useEffect(someFunc, [])
...


или же делать 
someFunc (dispatch) {
  dispatch(something)
}
useEffect(() => someFunc(dispatch), [dispatch])
  • Вопрос задан
  • 325 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • ProductStar
    React: отточите навыки интерфейсной разработки
    6 недель
    Далее
  • Skillfactory
    Специализация Frontend-разработчик
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@phillbot
Например, вам нужно передать в стейт информацию после выполнения useEffect либо после размонтирования компонента

В таком случае можно

useEffect(() => {
    let isSubscribed = true;

    getDataFetch().then((res: any) => {
      const { result, error } = res;

      if (isSubscribed) {
        getRes({
          data: result || [],
          isLoaded: true,
          error,
        });
      }
    });

    return () => {
      dispatch(universalAction("SAVE", filterData));
      isSubscribed = false;
    };
  }, [dispatch, filterData])


Где dispatch - это хук редакс
universalAction - ваш кастомный экшн, который меняет информацию в стейте
filterData - какая то переменная

Таким образом сам dispatch и информация в переменной filterData будут указаны в зависимости хука
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽