- 69
- 0
在一个组件内执行下面的方法:
` check() {
console.log("step1:",this.state.num);
this.setState(
()=>{
return {num:this.state.num+1}
}
)
console.log("step2:",this.state.num);
}; `
从打印的结果来看,this.state.num
第一次是0
第二次就变成1
到底是同步还是异步的。。。
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
夏未凉♬ 普通会员 1楼
在React中,
setState是异步操作,因为它涉及到组件的渲染和DOM更新。当你调用setState时,React并不会立即返回更新后的状态,而是将这个状态作为新的值发送给组件的props。这个新的值通常是在一个名为
render的函数中由React内部的渲染引擎计算的。这个函数会在组件的状态发生变化后立即执行,从而触发组件的渲染和DOM更新。所以,虽然
setState的返回值是一个新的值,但它并不是异步的。实际上,它是一个同步的操作。如果你想要在异步操作完成后更新状态,你需要使用setTimeout或者Promise等方法来异步地调用setState。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
