React组件中Keys需在单列表内唯一还是整页面所有列表中唯一?
React列表Key的唯一性范围说明
React的key只需要在当前列表的兄弟元素之间保持唯一,完全不需要在页面所有列表中全局唯一。
你给出的代码是完全合法的,不会触发"Each element needs a unique key"报错。因为两个<ul>是相互独立的列表容器,各自内部的key在自身列表范围内都是唯一的,完全符合React对key的要求。
简单来说,React的diff算法在处理列表时,是针对每个列表单独进行的,不同列表的key不会互相干扰。key的核心作用是帮助React快速识别单个列表内元素的位置变化、新增或删除操作,它的作用域仅限当前列表的同级元素,和页面上的其他列表没有关系。
内容的提问来源于stack exchange,提问作者Octavian Niculescu
相关产品推荐
相关产品推荐

