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(':'))
也许它不如获得分钟那么准确,但对我来说没问题。谢谢