Wie gehe ich mit baumförmigen Elementen in Redux-Reduzierern um?

Ich bin nicht ganz sicher, wie ich eine Reduzierung implementieren soll, bei der ihre Entitäten Kinder desselben Typs haben können.

Nehmen wir als Beispiel reddit-Kommentare: Jeder Kommentar kann untergeordnete Kommentare enthalten, die selbst Kommentare enthalten können. Aus Gründen der Vereinfachung ist ein Kommentar ein Datensatz vom Typ {id, pageId, value, children}, mitpageId als die reddit Seite.

Wie würde man das Reduzierstück um das modellieren? Ich habe mir überlegt, ob der Reduzierer eine Karte sein soll -> ID der Kommentare, in denen Sie mithilfe des @ -Zeichens nach Seite filtern könnepageId.

Das Problem ist, dass wir zum Beispiel einen Kommentar zu einem verschachtelten hinzufügen möchten: Wir müssen den Datensatz im Stammverzeichnis der Map erstellen und dann seine ID in der übergeordneten untergeordneten Eigenschaft hinzufügen. Um alle Kommentare anzuzeigen, die wir benötigen, um sie alle zu erhalten, filtern Sie die Kommentare, die wir oben haben (die beispielsweise in den Seitenreduzierern als orderedList gespeichert werden), und wiederholen Sie sie dann, indem Sie sie aus den Kommentarobjekten abrufen, wenn Wir begegnen Kindern mit Rekursion.

Gibt es einen besseren Ansatz als diesen oder ist er fehlerhaft?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage