Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数状态的Console.log_Javascript_Reactjs - Fatal编程技术网

Javascript 函数状态的Console.log

Javascript 函数状态的Console.log,javascript,reactjs,Javascript,Reactjs,我有这个函数,我希望console.log输出显示isOpen的状态,预期的输出只能是'true' open = () => { this.setState({ isOpen: true }) } 由于setState()是异步的,因此需要调用回调,该回调在状态得到更新后执行 open = () => { this.setState({ isOpen: true }, () => console.log(thi

我有这个函数,我希望console.log输出显示isOpen的状态,预期的输出只能是'true'

open = () => {
    this.setState({
        isOpen: true
    })
}
由于
setState()
是异步的,因此需要调用回调,该回调在状态得到更新后执行

open = () => {
    this.setState({
        isOpen: true
     }, () => console.log(this.state.isOpen))
}

this.setState将使用回调函数

open = () => {
this.setState({
    isOpen: true
 }, () => {
   console.log(this.state.isOpen ? this.state.isOpen : '')
 }
}
由于
setState()
是异步的,因此需要将
console.log
放在
setState
的回调中

    open = () => {
    this.setState({
        isOpen: true
     }, ()=> {
      console.log(this.state.isOpen);
    }
可能重复的