我具有此功能,我希望console.log的输出显示isOpen的状态,预期的输出必须仅为'true'。
open = () => {
this.setState({
isOpen: true
})
}
答案 0 :(得分:3)
由于setState()
是异步的,因此您需要调用一个回调,该回调在状态得到更新后执行。
open = () => {
this.setState({
isOpen: true
}, () => console.log(this.state.isOpen))
}
答案 1 :(得分:0)
this.setState将使用回调函数。
open = () => {
this.setState({
isOpen: true
}, () => {
console.log(this.state.isOpen ? this.state.isOpen : '')
}
}
答案 2 :(得分:0)
由于setState()
是异步的,因此您需要将console.log
放入setState
的回调中。
open = () => {
this.setState({
isOpen: true
}, ()=> {
console.log(this.state.isOpen);
}