logo

setState 是异步的吗?为什么 setState 在 React 中是异步而不是同步?

Is setState() is async? Why is setState() in React Async instead of Sync?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: medium

分类: Frontend

标签: setState, Async, Batching, Re-rendering

参考答案摘要

答案 setState() 操作是异步的,并且为了性能收益会被批处理(batched)。这在文档中有说明。 setState() 并不会立刻修改 this.state,而是创建一个待处理的 state 变更(pending state transition)。在调用该方法后立刻访问 this.state,可能会返回当前(旧的)值。对 setState 的调用没有同步执行的保证,并且可能会为了性能收...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

setState 是异步的吗?为什么 setState 在 React 中是异步而不是同步?

Mediumreactstatefrontend

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案