在 React 中调用 setState 之后,能立即读取到新的 state 值吗?setState 是异步还是同步的?请结合不同场景说明。
考察说明
考察 React 状态更新的异步性、批处理机制及边界情况的掌握
回答思路
- 能说明 setState 在大多数情况下是异步的,通过批处理合并更新
- 能说明在事件处理函数中不能立即读取新值,需通过回调或 useEffect
- 能说明在生命周期方法、原生事件、setTimeout 等场景下同步更新的可能性
- 能说明 React 18 自动批处理及 ReactDOM.createRoot 的影响
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。