2017-07-05 2 views
0

Ich erwarte einige Daten von Remote-Server, um es auf dem Bildschirm zu zeigen, aber ich habe diesen Fehler im Simulator Cannot read property 'undefined' of undefined der Grund, warum der Inhalt gerendert wird, bevor die Ankunft der Ergebnisse, das ist der Teil des Codes, wo ich diesen Fehler habe:reagieren native, wie zu behandeln, kann Eigenschaft nicht 'undefiniert' von undefined lesen

caption = { this.state.customFieldDropdown['gender'][this.state.dropDownSelectedItems['gender'] ] || '---Choose---' } 

So Eigentum caption einen Text erwartet, und mit nicht definierten Werten zu beschäftigen habe ich diese || '---Choose---' Text zeigen '---Choose---' in Fall von Null, aber das Problem ist this.state.dropDownSelectedItems['gender'] ist undefiniert und wenn this.state.customFieldDropdown Zugriff auf diesen Wert verursachte den Fehler (Lesen der Eigenschaft was ist undefined)

Also, wie mit diesem Problem umzugehen?

Antwort

0

Idx ist wirklich gut. Sie können so etwas tun:

if (idx(this.state, _ => _.customFieldDropdown.gender[_.dropDownSelectedItems.gender])) 
    caption = this.state.customFieldDropdown.gender[this.state.dropDownSelectedItems.gender] 
else 
    caption = '---Choose---' 
Verwandte Themen