在以下函数中是否有更优雅或最佳的setState方法?
startStop(){
if(this.state.start === 'Start') startStop = 'Stop'
else startStop = 'Start'
this.setState({start:startStop})
}
答案 0 :(得分:1)
this.setState({start:this.state.start ==='开始'?'停止':'开始'})
答案 1 :(得分:1)
如果你有类似的话:
state = {
keepGoing: false,
}
然后您可以执行以下操作来切换:
this.setState({ keepGoing: !this.state.keepGoing });
答案 2 :(得分:1)
表示标志,而不是字符串开始/停止使用true-false,
例如: -
constructor(props){
this.state={
start:false
}
}
startStop(){
this.setState({start:!this.state.start})
}
render(){
return<Text>{this.state.start?'Running':'Stopped'}</Text>
}