logo

setState() 是异步的吗?为什么 React 的 setState() 是异步而不是同步?

Is setState() asynchronous? Why is setState() async in React instead of sync?

题目类型: 技术面试题

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

难度: hard

分类: React State Management

标签: setState, Async, Batching, Performance, Rerendering

参考答案摘要

核心答案 setState() 的操作是异步的,并且会进行批处理以获得性能收益。文档说明: setState() 不会立即修改 this.state ,而是创建一个 pending state transition。在调用该方法后访问 this.state 可能仍然返回旧值。React 不保证 setState 调用是同步的,并且调用可能会被批处理。 原因是:setState 会改变 state ...

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

← 返回面试题库

setState() 是异步的吗?为什么 React 的 setState() 是异步而不是同步?

Hardreactjavascript

想查看完整答案?

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

前往学习中心查看答案