的底部我有這個FlatList組件在我的陣營原生應用程序,我想前面加上一個項目:我試圖更新列表項目預先考慮FlatList數據出現在列表
<FlatList
data={this.state.comments}
keyExtractor={this._keyExtractor}
extraData={this.state}
refreshing={this.state.refreshing}
renderItem={({item, index}) => (
<CardComment navigate={this.props.navigation.navigate} report={item.reply}/>
)}
removeClippedSubviews={false}
/>
和在當前評論的頂部添加一個新項目。一個成功的請求後,這是我做我取什麼:
.then((r) => {
this.setState({
refreshing: false,
loadingComments: false,
comments: [
{reply: r},
...comments,
],
});
});
即使我加入了新元素comments
列表的開始,它仍然出現在FlatList
時的底部它呈現。爲什麼,我該如何解決它?
由於提問者最終意識到,這其實是相同的問題https://stackoverflow.com/q/45199769/1709587 - 你需要在渲染項目數組時提供'key'道具。請注意,考慮到上面<缺少'key',這段代碼應該拋出一個警告,說* VirtualizedList:項目丟失鍵,請確保在每個項目上指定一個鍵屬性或提供銅... *。這是你錯過的線索! –