如果在 React 的主线程中使用了 useEffect 更新 state 之后,紧接着去访问这个 state,但拿到的值还是旧值,你怎么去解决这个问题?
考察说明
考察对 React 状态更新异步性和闭包捕获的理解及解决方案
回答思路
- 准确指出 state 更新是异步的,useEffect 回调中访问到的仍是当前渲染周期的旧值
- 理解闭包捕获和渲染周期的概念
- 能提出多种解决方案并说明适用场景
- 方案包括使用 useEffect 的依赖项来触发后续逻辑、使用 ref 存储最新值、或在事件处理中读取最新值
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。