是否可以通过下面给出的方式使用 switch 指令设置状态?或者也许这些方法都不是一个好的解决方案
我可以设置:
return this.setState({
stat1: 'a'
})
或
返回 this.state.stat1 = 'a'
第一种方法
books = (price) => {
switch(price) {
case 100:
return this.setState({
stat1: 'a'
})
case 1000:
return this.setState({
stat1: 'b'
})
case 2000:
return this.setState({
stat1: 'c'
})
default:
return this.setState({
stat1: ''
})
}
}
第二种方式
books = (price) => {
switch(price) {
case 100:
return this.state.stat1 = 'a'
case 1000:
return this.state.stat1 = 'b'
case 2000:
return this.state.stat1 = 'c'
default:
return this.state.stat1 = ''
}
}
最佳答案
你可以使用第一种方法,但你也可以这样做:
const books = price => {
this.setState({
stat1: price===100?"a"
:price===1000?"b"
:price===2000?"c"
:null
})
}
第二种方法是错误的,请检查此解释 Why we can't change states in react without calling setState()
关于javascript - 使用react中的switch指令设置状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56802646/