Was ich hier tun möchte, ist das Array-Objekt 'verfügbar' mit TextInput aktualisieren und darunter ist mein Code. Ich weiß nicht, warum es mir weiterhin den Token-Fehler in der _update-Funktionszeile gibt. Bitte helfen Sie. Vielen Dank!Aktualisieren Sie ein Element in einem Array-Objekt im Zustand mithilfe von TextInput reagieren Native
export class Inventory extends Component {
state = {
available: [
{id: 0, name: 'Xb', value:5},
{id: 1, name: 'Ad', value:19},
{id: 2, name: 'Sc', value:1},
{id: 3, name: 'AV', value:3},
{id: 4, name: 'Ba', value:8},
{id: 5, name: 'Ch', value:2},
{id: 6, name: 'Pr', value:9},
{id: 7, name: 'Mi', value:10},
{id: 8, name: 'Se', value:1},
],
}
_update = (text,index) => this.setState({available[index].value: text});
render(){
index = 0;
return(
<View style={styles.container}>
<TextInput style={styles.input}
keyboardType = 'number-pad'
returnKeyType = 'go'
autoCapitalize = 'none'
maxLength = {3}
value = {this.state.available[index].value}
onChange = {(text) => _update(text,index)} />
</View>
);
}
Vielen Dank für Ihre Antwort zu sein. Was ist das '...' das '[... this.state.available]'? –
Das wird der Spread-Operator genannt. Überprüfen Sie diese https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator als Referenz. Im Grunde nimmt ein Spread-Operator für Arrays die Elemente im Array und fügt sie in dieses neue Array ein, das wir erstellen. – hyb175
Ich versuche die gleiche Methode, aber es sagt ** Kann verwalteten Objekte außerhalb einer Schreib-Transaktion nicht ändern. ** ... Ich arbeite auf reagieren native und Realm-Datenbank, um dieses Array zu füllen. – Omer