logo

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

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

题目类型: 技术面试题

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

难度: medium

分类: Frontend

标签: setState, Async, Batching

参考答案摘要

答案 setState() 的操作是异步的,并且会为了性能收益进行批处理(batched)。这在文档中有解释: setState() 不会立刻修改 this.state,而是创建一个待处理的 state 迁移。调用该方法后再访问 this.state 可能会返回旧值。对 setState 的调用没有同步执行的保证,并且可能会被批处理以获得性能收益。 这是因为 setState 会改变 state ...

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

← 返回面试题库

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

Mediumreactjavascript

想查看完整答案?

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

前往学习中心查看答案