在 React 的 useEffect 中,如果两个依赖项在副作用内部依次改变状态,组件会重新渲染几次?请结合 React 的批处理机制说明。
考察说明
考察对 React 状态更新批处理与 useEffect 依赖变化触发渲染机制的理解
回答思路
- 能明确区分副作用内连续 setState 与外部事件处理的批处理差异
- 能正确指出在事件处理函数中多次 setState 只触发一次渲染
- 能分析 useEffect 内同步更新状态时的批处理行为(React 18 自动批处理)
- 能说明不同场景(微任务、Promise、定时器)下的渲染次数
- 能举例验证:从外部读取渲染次数或使用 useReducer 观察