概述
之前React setState后在另一个函数调用state的值没有更新:
// init state.type = 'new'; activeMenu(type) { // type = top if (type == this.state.type) return; this.loadList(type); } loadList(type) { this.setState({ items: [], type: type }); ......... // type is top, but this.state.type still is new }
改进后的setState是这样的:
// 使用setState的回调函数即可解决 activeMenu(type) { if (type == this.state.type) return; this.setState({ items: [], page: 1, type: type, isLoading: false, isLoadedFinished: false }, function() { this.loadList(); }); } loadList() { // 这样我们就可以愉快及时的使用 state里面的值 。。。 。。。 }
有疑问或技术交流,扫描公众号一起讨论学习。
更多React在线学习访问:http://each.sinaapp.com/react/index.html
最后
以上就是时尚御姐为你收集整理的【解决】React setState延迟delay导致数据更新不及时,代码无法正确执行的全部内容,希望文章能够帮你解决【解决】React setState延迟delay导致数据更新不及时,代码无法正确执行所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复