Irgendeiner Weise zu verwenden immutable.js mit lodash?
Ich bin mit immutable.js mit meinem flux Anwendung. Es ist sehr nützlich und gibt die Leistung zu steigern. Doch was mich traurig macht ist die Tatsache, dass ich nicht verwenden können, lodash zusammen mit ihm. Lodash bietet tolle API, mit Tonnen von nützlichen Funktionen, so Frage ich mich, vielleicht gibt es einen Weg, um Sie zusammen zu arbeiten für mich?
- Vielleicht bieten einige code, den Sie versuchen zu verwenden, die veranschaulicht, wie die beiden Bibliotheken arbeiten nicht zusammen?
- Ich sehe nicht, wie Sie zusammen arbeiten könnten, als lodash Griffe javascript arrays und Objekte - immutable.js ersetzt Sie mit seinen eigenen Listen und Maps.
- Sie können auch check out github.com/engineforce/ImmutableAssign, unterstützt, die die Unveränderlichkeit und ermöglicht Ihnen das weiterarbeiten mit POJO (Plain Old JavaScript-Objekt).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe mir vor kurzem geschrieben, Lodash wrapper bietet Immutable.JS Unterstützung genannt mudash. Die meisten der großen Lodash-Funktionen werden unterstützt mit mehr regelmäßig Hinzugefügt.
Könnten Sie Ramda wenn Sie möchten, Unveränderlichkeit und nebenwirkungsfreie Funktionen.
Die Bibliothek bietet nützliche Funktionen wie lodash, sondern in einem funktionalen Programmierung Stil, der nie mutiert, die user-Daten.
Betrachten diese Reagieren Beispiel mit der flatten-Funktion in Ramda mit ES6-syntax.
Ich nehme an, Sie versuchen, etwas zu tun, wie tun eine lodash Karte auf ein unveränderlich festgelegt. Lodash nicht hilfreiche Dinge, wenn Sie versuchen, das zu tun, direkt.
Beachten Sie, dass immutable.js hat schon eine Menge seiner eigenen manipulation Funktionen (wie
map
) sowie eigene faul-chaining (überSeq
), so sollten Sie Aussehen in diesen.Wenn Sie brauchen, um etwas zu tun, dass
lodash
bietet undimmutable.js
nicht, eine Sache, die Sie tun können, ist, nehmen Sie Ihre immutable-Objekt und konvertieren es zu einem vanilla JS-Objekt für den Konsum von lodash.Zum Beispiel:
Wirst du natürlich haben, um Leistung zu berücksichtigen, denn Sie können am Ende das schlechteste aus beiden Welten, wenn Sie konvertieren von einem zum anderen, indem Sie Ihre Daten in einer Standard-Daten-Struktur. In der Spielzeug-Fall oben, zum Beispiel, würden Sie wahrscheinlich besser dran mit einem immutable.js
map()
direkt.seamless-immutable soll eine API bereitstellen, das ist rückwärts kompatibel mit vanilla JS Datenstrukturen.
Dies ermöglicht die Verwendung von lodash Methoden. Jedoch, da viele von lodash Methoden geschrieben werden, mit Veränderlichkeit im Geist, Sie sind wohl weit entfernt von optimal.
Möchten Sie vielleicht check out https://github.com/engineforce/ImmutableAssign von mir erstellt, welches ein geringes Gewicht unveränderlich Helfer unterstützt, die die Unveränderlichkeit und ermöglicht Ihnen das weiterarbeiten mit POJO (Plain Old JavaScript-Objekt). Daher können Sie verwenden alle lodash Funktionen.
E. g.,
Wie zu verwenden withMutations in ImmutableJS?
Suche nach
Batching Mutations
zur kurzen Erklärung hier.