Reagent React Clojurescript Warnung: Jedes Element in einer Sequenz sollte einen eindeutigen: key @ habe
Ich habe eine zwei Jahre alte Zusammenfassung von @ kopierHie. Es funktioniert jetzt mit Figwheel und verwendet eine neuere Version von Reagent / React. Ich suche nach einer generischen Methode zum Isolieren dieser Warnmeldung, die an der Javascript-Konsole angezeigt wird:Warning: Every element in a seq should have a unique :key
. Die Idee ist, ein @ zu setz:key
mit einem generierten eindeutigen Wert für alle Komponenten. Dann sollten die Nachrichten verschwinden und ich werde in der Lage sein zu sehen, welche Komponenten das einzigartige @ benötigte:key
. Mein Problem ist, dass obwohl ein eindeutiges:key
wird in alle eingefügt, die Warnmeldung wird weiterhin angezeigt.
So - könnte mir jemand sagen welche komponente ich verpasst habe oder sonst was ich falsch gemacht habe? Wie Sie aus dem @ sehen könnsource (permalink) Ich habe hinzugefügt:key (gen-key)
zu den beiden Komponenten:[:polyline {:key (gen-key) ...
und[:svg {:key (gen-key) ...
in den Zeilen 43 und 68.
Bearbeite Also das ist dasanswer (permalink), in Bezug auf den Code trotzdem. Suchen Sie einfach nach der Platzierung von^{:key (gen-key)}
in den Zeilen 44 und 60.
Beachten Sie, dass die Funktiongen-key
wurde für das Debuggen gemacht. Zu ersetzende natürliche Schlüssel.
Dies ist, wie Sie implementieren könntengen-key
:
(defn gen-key []
(gensym "key-"))
Und so geht's in den obigen Links:
(def uniqkey (atom 0))
(defn gen-key []
(let [res (swap! uniqkey inc)]
(u/log res)
res))