为了账号安全,请及时绑定邮箱和手机立即绑定

react state不更新更新

react state不更新更新

鸿蒙传说 2018-09-08 20:15:59
tab切换的时候更新当前选择的tab,debugger发现state并没有更新,请问具体原因是什么,万分感谢!constructor(props) {     super(props)     this.state = {       selected: 'blacklist'     }   }tabChange(newSelected) {  // newSelected = "score"     const {selected} = this.state; // selected = "blacklist"     debugger     if (selected !== newSelected) { // selected = "blacklist", newSelected = "score"       this.setState({         selected: newSelected,       })       const {tabChange} = this.props       tabChange(newSelected)     }     debugger     const state = this.state //state = {selected: "blacklist",}     console.log(state)   }
查看完整描述

3 回答

?
cnyballk

TA贡献148条经验 获得超93个赞

https://img1.sycdn.imooc.com//5b98ab3a00014a9b08060223.jpg官网原话,因为setSate最后会被合成,导致类似于异步

查看完整回答
1 反对 回复 2018-09-12
?
www说

TA贡献1775条经验 获得超8个赞

setState 是异步的. 你需要在回调里回去获取更新后的 state.

this.setState({  selected: newSelected,
}, function() {    console.log(this.state)
});


查看完整回答
反对 回复 2018-09-09
?
慕的地8271018

TA贡献1796条经验 获得超4个赞

react在生命周期和event handler里的setState会被合并(异步)处理。(17版本以后全都会变异步)

查看完整回答
反对 回复 2018-09-09
  • 3 回答
  • 0 关注
  • 1765 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信