Отобразить разные ошибки реагируют на избыточность - PullRequest
0 голосов
/ 24 сентября 2018

Я создаю приложение реакции с использованием приставки

В хранилище приращений, скажем, у меня есть объект книги с названием, ошибкой, isLoading

 const bookStore = {
  title: null,
  isLoading: false, 
  error: null
 }

У меня есть два действия: 1Получить / получить данные книги с сервера 2, Обновить / PUT название книги

Каждое действие, которое я должен обработать, isLoading, ошибка.

Так что в основном в компоненте реагирования я могу проверить (мы игнорируемзагрузка пока)

 if (error) {return ErrorComponent}
 else return BookComponent

Дело в том, что я хочу показать ошибки по-разному.Если запрос GET (выборка данных), я хочу отобразить ошибку как ErrorComponent.Если запрос PUT (обновить заголовок), я хочу отобразить ошибку в виде тоста.

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

я должен написатькод вроде:

 const bookStore = {
  title: null,
  isLoading: false, 
  fetchError: null,
  putError: null
 }

Но в этом случае я должен проверить, как

 if (fetchError) {display ErrorComponent}
 else if (putError) {display Toast}
 else display BookComponent

Это немного неудобно.

Не могли бы вы, ребята, показать мне лучшееспособ сделать это?Спасибо заранее

1 Ответ

0 голосов
/ 24 сентября 2018

Я полагаю, вы можете установить error как объект error : { type: action.payload.type , value: action.payload.error}

И ваш код будет:

if (error) {
     return error.type === 'error1' ? ErrorComponent : Toast; // or you can handle `toast` inside ErrorComponent  
}
else {  return BookComponent   }

Кроме того, вы можете обрабатывать сообщения об ошибках в соответствии с type Вы установили в редуктор.

Надеюсь, это поможет!

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