Notes

为什么不建议使用数字作为 key

一句话结论:真正的问题不是“数字”本身,而是“key 是否稳定且能代表身份”;把数组下标当 key 会在插入/删除/排序时导致错误复用与状态错位。

1. 数字 key 什么时候没问题

  • 数字是稳定 ID:例如后端主键 id: 101,不会随顺序变化而变化
  • 这种 key 本质上与字符串 ID 没区别

2. 为什么不建议用“数组下标”当 key

  • 插入/删除会改变后续元素的下标 → key 变化 → React 误以为“人变了”
  • 结果:DOM 复用错位、输入框光标跳、组件 state 跟着跑偏

3. 面试总结句

  • “key 用来表达身份,不是表达位置;位置会变,身份应稳定”

关联阅读

cd ..