我有几个简单的FlatLists,每个显示部门和商店的自定义列表项。我得到的错误是每个孩子都应该有一个独特的“钥匙”道具,但我已经定义了keyExtractor
以及试图将key
道具添加到自定义列表行组件。即React Native Flatlist - 每个孩子都必须拥有“钥匙”道具
<FlatList
style={_styles.list}
data={this.props.divisions}
extraData={this.state.chosenDivisionId}
keyExtractor={this._keyExtractor}
renderItem={this._renderDivisionItem}/>}
/>
_keyExtractor = (item, index) => item.id
_renderDivisionItem = ({ item, index }) => {
let typedItem: DivisionData = item;
return (
<ShopListItem
text={typedItem.name}
selected={this.state.chosenDivisionId === typedItem.id}
itemId={typedItem.id}
key={typedItem.id} /* Have tried with and without this */
onPress={itemId => this._updateStateForDivisionChosen(itemId)}
/>
);
};
我怎么仍然得到警告,我做错了什么? keyExtractor方法在我的其他FlatLists上正常工作。 ,当然,所用的ID都是唯一的
的设置看起来是正确的,我能想到的唯一的事情可能会抛出这个错误是,如果不在该数组中的每个对象有一个item.id –