请解释 React(或 Vue)的 key 在 Diff 算法中如何影响组件的生命周期和状态保留?
考察说明
考察对虚拟 DOM Diff 中 key 作用及其对组件实例生命周期和状态影响的理解
回答思路
- 说明 key 用于标识节点在兄弟列表中的唯一性
- 解释 key 变化时组件会卸载重建,unmount 和 mount 生命周期依次触发
- 解释 key 不变时组件复用,update 生命周期触发且局部状态保留
- 区分列表渲染时正确与错误使用 key(如使用 index)带来的差异
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。