2016-07-30 27 views
2

erfordert Ich bin neu zu reagieren und von dem, was ich gelesen habe, ist es nicht empfehlenswert, .toJS() zu verwenden, da es die Leistung beeinträchtigt.Übergeben Sie unveränderliche Liste zu einem Componenet, das ein Array

Aber ich verwende eine Drittanbieter-Komponente, die ein Array als Requisiten erfordert, aber mein Status ist als eine unveränderliche Liste festgelegt.

In diesem speziellen Fall sollte ich .toJS auf meiner unveränderlichen Liste verwenden oder gibt es einen anderen Weg, der die Leistung nicht beeinträchtigt?

Dank

+0

Sie könnten einen Blick auf Seamless-unveränderlich: https://github.com/rtfeldman/seamless-immutable – bryanph

+0

immutablejs Liste hat 'toArray' API. Es konvertiert in ein einfaches Array und Sie können die Kopie an die Bibliothek übergeben. Dies macht das konvertierte Objekt zu einem neuen Array, das die ursprüngliche unveränderbare Liste nicht verändert. – anoop

+0

verbringen Sie etwas Zeit in den unveränderlichen Dokumenten. Ich finde, es gibt normalerweise eine Methode für alles, was ich tun möchte. – Brandon

Antwort

1

Immutable Sammlungen haben toArray Methode, die jede Immutable Struktur Array konvertieren. Beachten Sie, dass diese Operation nur flach in Array konvertiert wird.