redux-saga, как дождаться получения данных?

Допустим есть saga, которая получает с сервера какие-то данные. У нас есть компонент, в котором мы делаем this.props.getData(), и потом смотрим this.props.data.name !== ''.Или какие-то другие проверки с этими данными, как удостовериться что в this.props.data уже новые полученные данные, а не старые?


Ответы (1 шт):

Автор решения: www3b

Можно добавить loading status в стейт.

Например, определить четыре состояния - LOADING, SUCCESS, ERROR и WAIT (названия любые).

  • До отправки запроса (initial state) loadingStatus будет WAIT
  • При инициализации запроса менять loadingStatus на LOADING - при этом статусе отображаем какой нибудь индикатор загрузки
  • Когда ответ получен, проставляем статус в зависимости от результата (SUCCESS/ERROR) и отображаем сам результат.

Таким образом приложение не будет полагаться на наличие данных в стейте и будет понятно, загружаются ли новые данные.

→ Ссылка