您当前的位置: 首页 > 

ITKEY_

暂无认证

  • 0浏览

    0关注

    732博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

RN踩坑this.setState未生效

ITKEY_ 发布时间:2021-05-26 11:52:25 ,浏览量:0

出错代码

目标是修改this.state.citys为初始化城市,但是发现并没有初始化成功!

this.setState({
   citys: [...initCityList]                                 
});
console.log(this.state.citys);

日志打印的还是未初始化的数据

原因分析

this.setState()是异步方法,也就是说,setState还没有执行完成,日志打印方法已经触发了,导致以为没有正确初始化。 需要在回调中调用打印日志方法。

正确写法

在回调里调用打印日志就正常了。

this.setState({
      citys: [...initCityList]
},()=>{
    console.log(this.state.citys);
});
参考

https://stackoverflow.com/questions/41446560/react-setstate-not-updating-state

关注
打赏
1665243900
查看更多评论
立即登录/注册

微信扫码登录

0.0403s