完整的错误是:
Invariant Violation: A VirtualizedList contains a cell which itself contains more than one VirtualizedList of the same orientation as the parent list. You must pass a unique listKey prop to each sibling list.
我的FlatList
个组件中的每一个都有一个keyExtractor
道具。来自List
组件的react-native-elements
内的每个项目都有一个关键支柱。
有人能否解释这个问题的含义?
答案 0 :(得分:7)
如错误所示"您必须将唯一的listKey prop传递给每个兄弟列表。"像listKey =" someUniqueString"到FlatList为我修复了这个错误
答案 1 :(得分:1)
记住孩子,你的keyExtractor
道具必须返回一个字符串
答案 2 :(得分:0)
使用嵌套平面列表时出现此错误。我使用listKey而不是keyExtractor。
**listKey={(item, index) => 'D' + index.toString()}**
答案 3 :(得分:0)
如果您将FaltList用作任何其他FlatList或SectionList的嵌套列表,则必须将唯一值传递给此prop listKey
listKey = {this._keyExtractor}
_keyExtractor = (item, index) => {
return this.props.index+"_"+index+'_'+item.id+"_"+moment().valueOf().toString();
}
答案 4 :(得分:0)
我收到此错误。但是使用唯一字符串
修复了listKey={moment().valueOf().toString()}
答案 5 :(得分:0)
在 ListKey
中使用 keyExtractor
和 FlatList
道具来防止此错误或警告
示例:
listKey={(item, index) => `_key${index.toString()}`}
keyExtractor={(item, index) => `_key${index.toString()}`}