Zhanna_K
@Zhanna_K
in progress

Запрос на получение данных в useEffect(). В чем проблема?

Пытаюсь загрузить массив задач из БД в компоненту через api. Код следующий:
Так я использую хук эффекта
const [tasks, setTasks] = useState([])
const [isLoading, setIsLoading] = useState(false)

 useEffect(() => {
    const fetchData = async (id, fetchFunc) => {
      setIsLoading(true);
      const tasks = await fetchFunc(id);
      setTasks('tasks from fetch', tasks);
      setIsLoading(false);
    };
    fetchData(projectId, fetchTasks);
  }, []);


Собственно сами экшены:
export const  recieveTasks = (payload) => {
  return {
    type: GET_PROJECT_TASKS,
    tasks: payload,
  };
}

export const fetchTasks = (id) => (dispatch) => {
  API.getProjectTasks(id).then((tasks) => dispatch(recieveTasks(tasks)));
};

Что я вижу в логгере:
5f834ee666400075791206.png
данные пришли c сервера, диспатчится экшен. Почему tasks = undefined? Ведь я использую async await и мы ожидаем получения данных от fetch.

Подскажите, что я не улавливаю?
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы