Ich bin neu zu reagieren native & Redux, ich habe viel experimentiert und fast eine funktionierende App. Ich habe eine Frage darüber, wie man die Daten in redux organisiert, was die Performance beim Parsen mit Listview/Flatlist in nativen Reaktionen verbessern würde.Wie Objekte in redux mit Immutablejs zu organisieren und read native zur Verwendung in Flatlist
Unten ist Struktur der Daten, die ich von meiner API erhalte.
const data = {
"abcd1": {
"id":"abcd1",
"title": "test",
"contentOrder": 2
},
"abcd2": {
"id":"abcd2",
"title": "test2",
"contentOrder": 1
}
}
Convert
const sortedMap = new Immutable.OrderedMap(data).sortBy((item) => item.contentOrder)
Reducer fusionieren
case ActionTypes.FETCH_SECTION.SUCCESS:
return state.merge({
isFetching: false,
result: action.response,
error: ""
})
Ich ändere dies einem immutablemap mit Immutablejs und Schieben zu redux Shop Immutablemap. Nun, wenn ich die Elemente aus Staat für die Anzeige in Flatlist oder Listview, die einzige Option, die ich sehen, lesen möchten, ist ein Array mit allen Elementen wie
let newsItem = []
state.get("data").valueSeq().forEach((val, index) => {
newsItem.push(val)
});
and use it like this inside the component
<FlatList
data={newsItem}
keyExtractor={(item, index) => item.id}
renderItem={this._renderRow}
/>
Also meine Frage zu schaffen, ist dies eine gute Praxis? oder gibt es eine bessere Implementierung, die ich vermisse.
Ich muss auch unendlich scrollen, dafür plane ich meine Aktion "onEndReached" aufzurufen, um den Speicher mit den neuen Daten von Api zusammenzuführen.
Ich möchte dies auf die richtige Weise implementieren, um Leistungsengpässe zu vermeiden.
Vielen Dank für Ihre Beratung & Hilfe
Danke, ja, ich benutze erneut zu wählen, um die Daten von redux speichern. Könnten Sie mich wissen lassen, ob die oben erwähnte Art der Konvertierung von immaturablemap in list eine gute Idee ist? Es sieht so aus, als ob ich einige zusätzliche Schritte mache, um die Map in eine Liste zu konvertieren, nur um sie an FlatList zu übergeben - ich nehme an, es gibt einen besseren Weg, dies zu tun – Jana