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

Как выполнить redux dispatch внутри useEffect?

const function Component = () => {
   const data = useSelector(state => state.data);
   
useEffect(async () => {
    const {token} = queryString.parse(location.search):
   const response = await fetch(...).then(res => res.json());
   if (!response.status) {
        dispatch(updateError(true));
   }
}, []);
};

Я получаю ожидаемый результат, но в console.log компонент обновляется бесконечно или большое кол-во раз
  • Вопрос задан
  • 209 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
black1277
@black1277
Вольный стрелок
неправильно используете асинхронку с хуком useEffect. Нужно определить асинхронную функцию в теле хука и потом вызвать её. Вот тут подробнее https://www.robinwieruch.de/react-hooks-fetch-data
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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