Ich entwickle eine reaktive native Anwendung. Auf seiner Homepage muss ich einige Beiträge wie Video, Audio, Bilder, Blogs, Artikel usw. zeigen. Ich bin verwirrt, wie das zu erreichen ist. Wie kann ich eine Liste oder Rasteransicht mit verschiedenen Arten von Komponenten erstellen, Mischung aus Audio, Video, Bildern. Von Backend werden wir ein Bild oder Video oder Audio oder ein Blog hinzufügen und ein neuer Beitrag wird in der Liste erstellt. Auch möchte ich diesen neuen Beitrag am Anfang und nicht am Ende hinzufügen. Jede Hilfe wäre willkommen.Reactive Native Listview mit verschiedenen Arten von Komponenten
1
A
Antwort
1
Sie können dazu die FlatList
verwenden. Es ist so einfach zu bedienen und seine Leistung ist gut und es wird von React-Native empfohlen (siehe this). Dies ist ein einfaches Beispiel für die Verwendung von FlatList
Sie können Ihre Listenelemente in einer separaten Komponente oder Funktion und übergeben Sie es in der renderItem
Prop von FlatList
. Sie können das vollständige Dokument von FlatList
in here sehen:
_keyExtractor = (item, index) => item.id;
_renderItem = ({item}) => (
if (item.type === 'video') {
<MyVideo item={item}/>
} else if (item.type === 'image') {
<MyImage item={item}/>
} else if ...
...
);
render() {
return (
<FlatList
data={dataList}
keyExtractor={this._keyExtractor}
renderItem={this._renderItem}
/>
);
}
Verwandte Themen
- 1. reactive-native f8 Komponenten
- 2. Reactive native Listview rowhaschanged
- 3. Reactive Native ListView: Artikel voranstellen
- 4. Reactive Native Listview verlassen Raum
- 5. Element in Reactive Native ListView einfügen
- 6. Reactive Native Dynamic ListView Master-Detail
- 7. Listview Reactive-native Problem Rendern aller Zeilen
- 8. Reactive native Listview Artikel hinzufügen funktioniert nicht
- 9. Wie reactive-native Listenansicht untergeordnete Komponenten durch ref zugreifen?
- 10. Reactive Native ListView aktualisiert nicht bei Datenänderung
- 11. Reactive Native ListView - rowHasChanged feuert nicht
- 12. Reactive native Listview mit fester Höhe nicht scrollen
- 13. Was ist der Zweck von Reactive Native ListView 'rowHasChanged'?
- 14. Wie übermittele ich die Daten in ListView von reactive-native?
- 15. Dynamisch formatierte Schaltfläche in Reactive Native mit gestylten Komponenten
- 16. Fetch mit reactive native
- 17. JSApplicationIllegalArgumentException mit Reactive Native Android
- 18. Reactive Native Infinite Scroll
- 19. Task.WhenAll mit verschiedenen Arten
- 20. Reactive Native fetch von db-models
- 21. Reactive-native Typ Überprüfung der Komponente
- 22. Native Anzeigen in Reactive Native
- 23. Verhindern, dass reactive-native-router-flux alle Komponenten rendert
- 24. Reactive-native Leistungsmonitor
- 25. Reactive native Grundberechnung mit TextInputs
- 26. Verwendung von RCT_EXPORT_MODULE Reactive Native
- 27. Reactive-native Native Element Erkennung
- 28. Mit zwei Arten von ListView zusammen
- 29. So bestellen Sie Abschnitte in Reactive Native ListView
- 30. Reactive Native ListView-Zeile wird nach Statusänderung nicht erneut gerendert
Vielen Dank für Ihre Antwort! . Sorry, aber ich bin verwirrt über Flatlist, nicht in der Lage, richtig zu verstehen. Was ist dataList An Daten übergeben und von wo gebe ich den Typ des Elements weiter? –
Ich nehme an, dass 'dataList' die Liste Ihrer Posts ist und ich nehme an, dass Ihr Postobjekt eine type -Eigenschaft hat, mit der Sie den Typ Ihres Posts erkennen und die entsprechende UI-Komponente für jeden Post auswählen können (zum Beispiel:' 'oder' '). –
'_renderItem' ist die Funktion, die die entsprechende UI-Komponente für Ihre Posts zurückgibt. Sie sollten Ihre eigene UI-Komponente für jeden Typ Ihrer Posts definieren. –