Ich versuche, einen FlatList von json von einem api geholt zu machen, aber ich halte diesen Fehler:Reagieren Nativ: Kann nicht FlatList Schlüssel beheben Warnung
Warning: Each child in an array or iterator should have a unique "key" prop.
Check the render method of `VirtualizedList`.
Relevante Code:
<FlatList
data={this.props.tunes}
keyExtractor={(item, index) => item.id}
renderItem={({item}) => {
<Item
key={item.id}
title={item.title}
composer={item.composer}
year={item.year}
/>
}}
/>
Ich bin mir sicher, dass es eine einfache Lösung dafür gibt, aber nach ein paar Tagen des Ausprobierens habe ich es nicht gefunden. Danke für Ihre Hilfe!
Sind Sie sicher, dass die item.id für jeden Artikel unterschiedlich ist? Und stellen Sie sicher, dass es in den Daten keinen doppelten Eintrag gibt. – bennygenel
Vielleicht ist das, wo ich verwirrt bin. Es gibt keine item.id im JSON, aber ich dachte, dass React es in diesem Fall vielleicht liefern würde. Muss ich den JSON zuordnen, indem ich jedem Element eine ID hinzufüge, bevor ich die Daten an FlatList weitergebe? – Thomas
müssen Sie den Schlüssel selbst erstellen. Sie können etwas wie 'item.name + index' machen oder etwas kann für jedes Element eindeutig sein und wird nicht geändert – bennygenel