Каково правильное место для проверки данных, поступающих из бэкэнда в ReactJS? - PullRequest
0 голосов
/ 21 сентября 2018

Скажем, я получаю этот JSON:

"events": [
            {
              "description": "Some event",
              "details": "Issue found",
              "id": 0,
              "severity": "critical",
              "type": "blabla"
            },
]

и у меня есть Component, который использует поле severity для определения своего класса CSS (что-то вроде className={e.serveity});

Если я получу severity, который не входит в число ожидаемых (например, критический , предупреждение и т. Д.), Я хотел бы выполнить какое-либо действие, напримеррендеринг другого компонента или выполнение чего-то другого целиком.

Как правильно разместить этот код проверки ?Должно ли это быть:

  1. внутри самого Component;
  2. в пределах action, отвечающего за Обещание;
  3. в пределах reducer;

1 Ответ

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

Вы должны сделать это в компоненте и в компоненте, что вы можете сделать это в любой из указанных методов жизненного цикла, таких как componentWillMount, componentDidMount, componentWillReceiveProps и render.

Обратите внимание, что componentWillMount и componentWillReceiveProps устарели в последней версии React v16.3.

Таким образом, вы можете сделать это в зависимости от необходимости

Если вы хотите сделать в рендере, то

render(){
     this.state.events.map(item => {
          if(item != “critical” && item != “warning”){
                 //do stuff here
          }
     });
     return(

     );
   }

Есть много способов сделать такую ​​логику с помощьюкомпонент.Итак, на ваш вопрос рекомендуемое место - компонент.

Действия предназначены для отправки действия, а редуктор - для установки данных в состояние Redux.

...