我有几个简单的 FlatLists,每个都显示部门和商店的自定义列表项。我得到每个孩子都应该有一个唯一的“关键”道具的错误,但我已经定义了一个keyExtractor
并尝试将一个key
道具添加到自定义列表行组件。IE
<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 是唯一的