为什么React中没有自动生成数组的键?

问题描述 投票:3回答:1

如果在搜索数组时应该引用键而不是索引,为什么键的格式松散?如果它们是自动生成的话,我觉得它会使引用键变得更容易,就像MongoDB如何自动生成文档的对象id一样,无论_id被设置为什么。这个功能实施得太昂贵还是没有被Facebook想到?只是想知道因为最近我得到错误说我应该通过密钥引用,但我的代码将按预期工作。我不完全理解为什么如果一个密钥可以采用任何独特的格式,那么它的引用会更好。如果有人可以在我身上学习,为什么会这样,我会非常感激。谢谢。

reactjs
1个回答
0
投票

keys帮助React知道内容是否需要重新呈现。假设您有一个包含五个对象的数组,并且您正在映射它们。您删除了第四个元素,现在第五个元素移动到数组中第四个元素的位置。现在对于React,如果有React自己生成的动态键,它就不会知道它是滑入第四个元素位置的第五个元素。所以它必须删除节点并创建一个新节点。但是,如果你给了一个密钥,它将看到第四个元素的密钥是属于第五个元素的密钥,不需要删除该节点。

你说的情况类似于在映射数组时使用索引作为键。您可以阅读this文章,了解为什么不应该使用索引作为键。

© www.soinside.com 2019 - 2024. All rights reserved.