Правильно ли возвращать данные запросы в action

Ответ

Да, возвращать данные запроса в action — это нормальная практика, особенно в Redux или аналогичных библиотеках. Это позволяет обрабатывать результат асинхронного запроса в редьюсере или компоненте.

Пример с Redux Thunk:

const fetchUser = (userId) => async (dispatch) => {
  const response = await fetch(`/api/users/${userId}`);
  const data = await response.json();
  dispatch({ type: 'FETCH_USER_SUCCESS', payload: data });
  return data; // Возвращаем данные для дальнейшей обработки
};

// В компоненте можно использовать так:
dispatch(fetchUser(1)).then((userData) => {
  console.log('User data:', userData);
});

Плюсы:

  • Удобно для цепочки действий (then/await).
  • Позволяет использовать данные сразу после диспатча.

Минусы:

  • Может усложнить логику, если злоупотреблять.
  • Не всегда нужно, если данные хранятся в сторе.

Используй, когда нужен доступ к данным вне стора (например, для навигации или локального состояния).