在ReactJS中验证来自后端的数据的正确位置是什么?

时间:2018-09-21 18:31:15

标签: reactjs redux react-redux flux redux-thunk

说我收到此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 :(得分:2)

您应该在组件内执行此操作,并且可以在组件内执行此操作,以响应提供的生命周期方法,例如componentWillMount,componentDidMount,componentWillReceiveProps和渲染。

请注意,从最新的React v16.3起,不建议使用componentWillMount和componentWillReceiveProps。

因此您可以根据需要执行此操作

如果要渲染,则

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

     );
   }

有很多方法可以在组件中进行这种逻辑处理。因此,对于您的问题,推荐的位置是组件。

动作用于调度动作,而reducer用于将数据设置为Redux状态。