Как обработать запрос в полете, чтобы показать загрузчик с помощью Redx Saga? - PullRequest
0 голосов
/ 29 января 2020

В моем приложении redux-saga несколько вызовов API могут происходить одновременно, и, таким образом, должны отображаться отдельные загрузчики и сообщения об успешном / ошибочном ответе API.

Как обрабатывать такой сценарий ios?

Например, обычно поддерживается следующее избыточное состояние:

{
 data : {},
 isError: false,
 isLoading: true
}

Здесь isLoading флаг меняется на true, когда вызов API ожидает ответа.

isError флаг поворачивается Значение true, когда ответ API возвращает ошибку.

data сохраняет успешный ответ от API

. Приведенный выше подход хорошо работает, когда одновременные вызовы API не происходят.

Как обрабатывать случай, когда одновременно происходят разные вызовы API?

1 Ответ

1 голос
/ 29 января 2020

Для этого типа сценария:

Вместо использования состояния глобально

{
 data : {},
 isError: false,
 isLoading: true
}

Мы можем использовать состояние индивидуально

, как в каждом другом вызове API мы можем использовать разные Редукторы и разные редукторы, которые мы можем установить isError и isLoading по отдельности.

Теперь в rootReducer мы назначаем все наши редукторы по-разному, как responseOfApi1, responseOfApi2, et c, и мы можем обращаться к нему как реквизиты. responseOfApi1, props.responseOfApi2 в нашем компоненте.

Теперь мы можем определить isLoading как состояние в отдельном компоненте и проверить, есть ли props.responseOfApi1.isLoading || props.responseOfApi2.isLoading, тогда мы можем установить setState ({isLoading: true}) и, если props.responseOfApi1.isLoading && props.responseOfApi2.isLoading setState ({isLoading: false})

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...