2016-11-30 7 views
0

Ich versuche, ein tableData von einem Format wie zu machen: enter image description herejson Daten in <TableRow> machen in reagieren

in einer <TableRow> wie:

{this.state.tableData.map((row, index) => (
      <TableRow key={index}> 
      <TableRowColumn>{console.log(tableData[index].name)}{tableData[index].name}</TableRowColumn> 
      <TableRowColumn>{tableData[index].role}</TableRowColumn> 
      <TableRowColumn>{tableData[index].phone}</TableRowColumn> 
      <TableRowColumn>{tableData[index].email}</TableRowColumn> 
      </TableRow> 
     ))} 

die Konsole im Code-Schnipsel wird mir geben Der korrekte Wert kann ich im Browser überprüfen.

enter image description here

Aber das Code-Snippet <TableRowColumn>{tableData[index].name}</TableRowColumn> Error : TypeError: Cannot read property 'name' of undefined

jeder Vorschlag bitte den Fehler zu geben !!

Antwort

2

Da sollten Sie Tabellendaten mit this.state.tableData auch in Zeilen aufrufen, nicht mit tableData[index], weil tableData nicht definiert ist. Aber ich würde Ihnen empfehlen, row Variable zu verwenden, die Sie innerhalb der map Funktion haben.

+0

mit Zeile, wie kann ich den Wert in diesem Fall, wie ich Daten in einem Array von JSON-Format empfange. [{"userId": "Benutzer8", "Kennwort": null, "Name": "Benutzer8", "Rolle": "Rolle8", "Telefon": "9874020208", "E-Mail": "rta8 @ ericsson. com "," msg ": null," statusCode ": 201}, {" Benutzer-ID ":" Benutzer0 "," Passwort ": null," Name ":" Benutzer0 "," Rolle ":" Rolle0 "," Telefon " : "9874020200", "E-Mail": "[email protected]", "msg": null, "statusCode": 201}, {"userId": "Benutzer3", "password": null, "name": " Benutzer3 "," Rolle ":" Rolle3 "," Telefon ":" 9874020203 "," E-Mail ":" [email protected] "," msg ": null," statusCode ": 201}] – NDeveloper

+0

row.name, und warum fügst du einen block von json in einen kommentar ein? – flq

+1

Ersetzen Sie einfach TableData [Index] mit Zeile. Sie haben ein Array von Objekten, mit Map-Funktion erhalten Sie ein einzelnes Objekt aus diesem Array, das in der Zeilenvariable gespeichert ist. Dann greifen Sie auf Felder wie row.name, row.password zu. –