功能状态的Console.log

时间:2019-08-19 14:01:23

标签: javascript reactjs

我具有此功能,我希望console.log的输出显示isOpen的状态,预期的输出必须仅为'true'。

open = () => {
    this.setState({
        isOpen: true
    })
}

3 个答案:

答案 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);
    }