Was ist eine gute Vorgehensweise für die Behandlung von Iterationen durch ein Immutable.js-Map-Objekt? Das funktioniert:
%Vor%gibt jedoch die Warnung in der Konsole an "warning.js: 45 Warnung: Die Verwendung von Maps als untergeordnete Elemente wird noch nicht vollständig unterstützt. Es handelt sich um ein experimentelles Feature, das möglicherweise entfernt wird. Konvertieren Sie es stattdessen in eine Sequenz / iterable von getakteten ReactElements. "
Dies wurde schon vorher besprochen, und dieser Link deutet auf einige Strategien hin, die mir jedoch klobig erscheinen. Ссылка . Wie:
%Vor%funktioniert, aber ist klobig Gefühl. Gibt es einen natürlicheren Weg, dies zu tun?
Da Sie diese Frage gestellt haben, wurde eine bessere Lösung für das GitHub-Problem bereitgestellt, auf das Sie verweisen. @vinnymac schlägt vor:
%Vor% Das funktioniert gut, weil entrySeq()
eine Sequenz von Schlüssel / Wert-Tupeln zurückgibt, die Sie dann in den Parametern des .map()
Callbacks destrukturieren können.
bearbeiten Ich sehe jetzt, dass Sie nur nach den Schlüsseln fragen. Verwenden Sie in diesem Fall keySeq()
, wenn Sie ImmutableJS map()
oder keys()
verwenden möchten, wenn Sie ES6 map()
Warum nicht stock.keys()
? Wenn ein ES6-Iterator zurückgegeben wird, müssen Sie ihn in ein Array umwandeln, damit er in älteren JS-Versionen funktioniert: Array.from(stock.keys())
Beachten Sie, dass ich key
als Variable vermieden und dann den Wert index
als key
an die untergeordnete Komponente übergeben habe, da react Verweise auf dynamisch erstellte Komponenten benötigt, damit sie in VirtualDOM korrekt behandelt werden können. Lesen Sie mehr über Reacts dynamische Kinder .
Tags und Links dictionary reactjs immutability