我有幾個簡單的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 –