|
|
1
58
这是一个警告,提示列表中的元素缺少键。这些独特的键允许VirtualizedList(FlatList的构建基础)跟踪项目,并且在效率方面非常重要。
您必须选择一个独特的关键道具,如
这个
例子:
对象定义为
平面列表组件应如下所示:
|
|
|
2
37
我这样做并为我工作:
|
|
3
3
此错误的重要性在于您开始更改或删除数组中的任何对象时,因为如果您不提供该键,列表将如何更新。 React Native处理无键列表更改的方法是删除屏幕上可见的所有内容,然后查看新的数据数组并为每个元素呈现单个元素。 我们不希望仅仅因为对数据数组做了一个小小的更改,就让React Native重建整个列表。理想情况下,我们希望React Native专门检测我们删除或更改的对象,并进行相应的更新,但如果我们不提供密钥,则不会发生这种情况。 key属性允许React Native跟踪这些对象列表,这样它就可以跟踪您正在修改或删除的内容,只需使用特定键删除特定元素。 这样,就不需要从头开始重建列表。该键将允许React Native将数据对象的定义与屏幕上显示的某些元素联系起来。 它只允许React Native跟踪我们渲染到屏幕上的不同对象列表。这也是对列表进行更新的性能优化。 |
|
|
4
2
@Sarantis Tofas有正确的答案。帮我解决了! 基于评论的另外两个注释:
|
|
|
5
2
react native的最佳唯一密钥提取器 函数如下所示:
或无项目字段:
|
|
|
6
1
尝试使用
|
|
|
7
1
事实上,在我的情况下,平面列表
数据
属性值不是数组类型(它是空对象),所以当我添加
我希望这对你有帮助。 |
|
8
1
这肯定会有用的。首先生成随机数。
然后在需要的地方调用生成随机数。例如:-
//下面我分享我的一小部分代码,以便更好地理解
最后在平面列表中使用
|
|
|
9
0
keyExtractor={(项,索引)=>'键'+索引}对我有用。 |
|
|
10
0
这对我有用。不需要串联字符串 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |
|
|
Geremia · 2D NumPy数组+1D数组? 1 年前 |
|
|
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 1 年前 |
|
|
Paul Williams · 迭代数组时输出有问题 1 年前 |