的setState的setState()():问题在if语句中if语句
// morePage = true
// pageNum = 1
if(morePage){
this.setState({pageNum: this.state.pageNum+1})
}
console.log(this.state.pageNum); // return: 1
的setState()出来if语句:
// morePage = true
// pageNum = 1
if(morePage){
// ...
}
this.setState({pageNum: this.state.pageNum+1})
console.log(this.state.pageNum); // return: 2
我面临着现在,我想知道为什么......
谢谢:)
编辑时,正确答案:
所以,是的,我应该花更多的时间阅读阵营的文件:P 如果有人想知道如何我终于做到了,这里就是答案:
在文档,他们都说没有保证您的状态将在重新呈现之前具有新的价值。所以你必须使用“componentDidUpdate()”。
所以我所做的是,我把:
this.setState({pageNum: this.state.pageNum+1})
我已经创建了一个随机函数里面,之后,在“componentDidUpdate(prevProps,prevState)”功能,我可以访问新和旧道具价值观,我可以使用以前的和“页次” :)
你应该结帐我的回答如果你不想使用额外的生命周期方法只适用于本。 –
是的,你的答案也应该工作,但我的代码更大,我有其他的东西需要在componentDidUpdate(),所以这是一个更干净的解决方案:) – Leon