Javascript React中的条件态

Javascript React中的条件态,javascript,arrays,json,reactjs,react-native,Javascript,Arrays,Json,Reactjs,React Native,假设我有这些初始状态 this.state = {schedules: [], status: 'morning'} 以及从API获取的动态计划JSON对象,该API可能在某一天发生变化。。e、 g schedules = {"morning": "6:30", "midday": "13:00", "afternoon":"17:30", "night":"21:00"} 现在我如何分别更改当前时差的this.state.status?e、 g.curTime='14:30',所以this

假设我有这些初始状态

this.state = {schedules: [], status: 'morning'}
以及从API获取的动态计划JSON对象,该API可能在某一天发生变化。。e、 g

schedules = {"morning": "6:30", "midday": "13:00", "afternoon":"17:30", "night":"21:00"}
现在我如何分别更改当前时差的
this.state.status
?e、 g.
curTime='14:30'
,所以
this.state.status='midday'


这样做的目的是根据
this.state.status
)对每个计划组件进行不同的样式设置,例如
style={{color:this.state.status='morning'?'red':'black'}}

类似于此的功能应该可以工作

updateStatus(){
   const keys = Object.keys(this.state.schedules).reverse();
   for(i = 0; i < keys.length; i++) {
       if(curTime > this.state.schedules[keys[i]]) {
           this.setState({status:keys[i]});
           break;
       }
   }
}
updateStatus(){
const keys=Object.keys(this.state.schedules).reverse();
对于(i=0;ithis.state.schedules[key[i]]){
this.setState({status:keys[i]});
打破
}
}
}
你唯一需要考虑的是如何比较时间。

curTime=moment(new Date()).format('H')
parseInt(this.state.schedules[keys[i]]].substring(0,this.state.schedules[keys[i]].indexOf(':'))
也许它不如获得分钟那么准确,但对我来说没问题。谢谢