2017-03-16 6 views
1

Sollte eine einfache Antwort sein, könnte sein, dass meine Syntax nicht korrekt ist, da ich ReactJS neu bin. Ich möchte eine eindeutige ID als Schlüssel zuweisen.Javascript Einstellung uniqueId() als Array-Schlüssel

Dies wirft einen Fehler:

rows:{ 
    uniqueId() : { name:"Kitchen Remodel", value:20100 }, 
    uniqueId() : { name:"Basement Remodel", value:8300 } 
} 

dies nicht? Bitte erläutern Sie ...

rows:{ 
    143434 : { name:"Kitchen Remodel", value:20100 }, 
    984578 : { name:"Basement Remodel", value:8300 } 
} 

Vielen Dank!

+1

_the Array von Objekten in ein Objekt_? Sie können Ihr Beispiel in einem neuen und modernen JS verwenden, indem Sie '[uniqueId()]' verwenden, so dass der Name des Schlüssels ausgewertet wird, aber ich verstehe nicht wirklich, was Ihr Ziel ist. –

+0

Diese Frage scheint für ReactJS nicht spezifisch zu sein und scheint hier bereits einige Antworten zu haben: http://stackoverflow.com/questions/2274242/using-a-variable-for-a-key-in- a-javascript-object-literal –

+0

Candy Danke, diese Frage scheint auf den Punkt zu kommen. – Paul

Antwort

2

In ES6, einen Funktionsaufruf oder Variable für die Eigenschaftsnamen wie so verwenden kann:

rows:{ 
    [uniqueId()] : { name:"Kitchen Remodel", value:20100 }, 
    [uniqueId()] : { name:"Basement Remodel", value:8300 } 
} 
+0

Ich dachte, es gab ein Syntaxproblem. Ich benutze ES6 das ist eine gute Lösung. – Paul

0

Die linke Seite kann nicht ausgewertet werden, wenn Sie ein Objekt wie dieses deklarieren.

Vielleicht mögen Sie deklarieren/assign wie unten

var row = {}; 
row[unique_id()] = { name:"Kitchen Remodel", value:20100 }; 
row[unique_id()] = { name:"Basement Remodel", value:8300 }; 
+0

Ich sehe. Ich wusste nicht, dass es nicht bewertet werden kann, das macht Sinn. Danke für die Erklärung. – Paul

+0

Dies ist mehr ein JS (Sprache) Phänomen als React (Bibliothek). Vielleicht möchten Sie Ihre Frage bearbeiten/aktualisieren. –

+0

Ich war mir nicht sicher, ob es ein Problem mit der Funktion uniqueId() war. – Paul

Verwandte Themen