Schwer zu erklären, aber ich möchte etwas tun: eine variable Zeichenfolge in dem Zustand wie folgt verwendenReagieren Nativ: this.state.variableString
constructor(props) {
super(props);
this.state = {
photoTree: "beautiful photo",
photoDoor: "photo of a door",
photoTreeSource: "/assets/tree.png",
photoDoorSource: "/assets/door.png",
}
}
doSomething(name) {
let _state = "photo" + name;
let _stateSource = _state + "Source";
console.log(this.state. + _state);
console.log(this.state. + _stateSource); //something like this
console.log(this.state._state);
}
render() {
return(
<View>
<TouchableOpacity style={style.button} onPress={this.doSomething.bind(this, "Tree")} />
<TouchableOpacity style={style.button} onPress={this.doSomething.bind(this, "Door")} />
</View>
)
}
Ich weiß, dass ein Objekt wie ‚Foto zu tun: {Baum: "schön ..", Tür: "blablabla ..."} wäre besser, aber ich möchte wissen, ob wir etwas wie oben, nur aus Neugierde tun können.
Ich will nicht eine neue Variable erstellen Ich möchte nur die state.photoTree oder state.photoDoor zeigen, wo photoDoor in einem String war wie: const propertiesName = „photoDoor“ und verwenden Sie es wie die Konsole. log (this.state.propertiesName) aber ich habe eine Lösung gefunden (this.state [propertiesName]) –