出于某种原因,我在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()},它只是没有被设置。
答案 0 :(得分:1)
你可以试试这个
componentDidMount() {
$('#container').on('scroll',() => {
this.setState({
myTestingState: true
})
})
}