说我收到此JSON:
"events": [
{
"description": "Some event",
"details": "Issue found",
"id": 0,
"severity": "critical",
"type": "blabla"
},
]
我有一个Component
,它使用severity
字段来定义其CSS类(类似className={e.serveity}
)。
如果我收到的severity
不在预期范围内(例如紧急,警告等),我想执行一些操作,例如渲染另一个组件或完全执行其他操作。
放置此验证代码的正确位置是什么?应该是
Component
本身内; action
内; reducer
内; 答案 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状态。