Ich lerne gerade React Native und ich möchte eine Reihe von Schaltflächen mit dynamischen Daten erstellen. Mein aktueller Code ist:React Native Pass-Parameter durch Kartenfunktion
var locations = this.state.campus.map(function(item, key){
return(
<TouchableHighlight key={key}
style={[styles.button, (this.state.location==={item} && styles.buttonPressed)]}
underlayColor='#dddddd'
onPress={()=>this.buttonPress({item})} >
<Text style={
styles.plainText}>{item}</Text>
</TouchableHighlight>
)
Mein Problem mit den Linien ist
style={[styles.button, (this.state.location==={item} && styles.buttonPressed)]}
und
onPress={()=>this.buttonPress({item})}
ich versuche diese Zeilen unter Verwendung der Daten dynamisch von der Landkarte Funktion erzeugen. Diese Codezeilen funktionieren perfekt, wenn ich statische Daten verwende (dh jede Schaltfläche separat generieren), aber keine dynamischen Daten verwenden. Der Code erzeugt eine Anzeige, so dass das Problem nicht beim Rendern auftritt, sondern bei der Funktionalität.
Mit dem Drücken der Taste bekomme ich die Fehlermeldung undefined in kein Objekt, während der Stil einfach die ganze Anzeige nicht zu rendern verursacht.
Es ist offensichtlich, dass die dynamischen Daten ({item}) innerhalb des Text-Elements funktionieren, aber nicht, wenn sie an die anderen beiden Elemente als Daten übergeben werden. Ich habe versucht, {{item}} zu verwenden, aber das wirft einen Syntaxfehler.
Gibt es eine Möglichkeit, dynamische Daten wie diese in React Native zu behandeln?
Für jemanden in der Zukunft ... könnte die hier bereitgestellte Lösung helfen: http://stackoverflow.com/questions/35663375/how-to-pass-a-component-reference-to-onpress-callback –
das Problem passiert ist, weil Sie usin Funktion (Element, Schlüssel) sind {und Sie müssen Pfeilfunktion verwenden var locations = this.state.campus.map ((Element, Schlüssel) => {return
miukki