更改时的setState

时间:2017-07-05 03:26:59

标签: javascript reactjs

出于某种原因,我在react的componentDidMount中使用了jquery,但是不能使用this.setState,因为这已经被jquery方法改变了,我把它设置到其他地方,我可以接受thisComponent.props.something但是为什么是setState失败?

componentDidMount() {
    const thisComponent = this //jquery changed `this`, thus set `this` set to somewhere else

    $('#container').on('scroll', function() {

        console.log(thisComponent.props.something) //work

        thisComponent.setState({ // not working
            myTestingState: true
        })
    })
}

没有错误,我尝试在我的render方法中打印出{this.state.myTestingState.toString()},它只是没有被设置。

1 个答案:

答案 0 :(得分:1)

你可以试试这个

componentDidMount() {
    $('#container').on('scroll',() => {    
       this.setState({
          myTestingState: true
       })
    })
}