状态未在onClick事件中更改

时间:2019-06-06 03:04:55

标签: reactjs

我有state,如下所示。

state = { photostatus: 'input' }

我有如下功能

changeAddress = () => { 
    this.setState({ photostatus: 'bar' }, () => {
        //some code
    });
}

我还有另一个类似下面的功能

image_element = () => {
    console.log(this.state.photostatus);    // I am not getting `bar` here 

    if (this.state.photostatus === 'input') {
        <div onClick = { this.changeAddress }>Hello</div>
    }
}

我正在将image_element传递给这样的另一个组件

<AddAddressForm
    image_element = { this.image_element }
/>

当我点击div时,我的状态没有改变。

1 个答案:

答案 0 :(得分:1)

您可以尝试

<AddAddressForm image_element = {() => this.image_element()}/>

或在constructor()

中绑定函数
constructor(props) {
    super(props)
    this.image_element= this.image_element.bind(this)
 }