Ich versuche, den Schlüssel aus einer JSON-Datei zu lesen und seinen Wert in einem Textfeld anzuzeigen. Der Benutzer gibt den Schlüsselwert in das Feld TextInput ein. Folgendes ist der Code, den ich verwende. Es wirft "Undefined ist kein Objekt (Bewertung von 'this.state.input')" Fehler nach Eingabe des Textes und Drücken der Schaltfläche "Senden". Ich denke, es gibt ein Problem beim Binden/Übergeben des Wertes an die showMeaning() -Funktion. Bitte helfen Sie.Undefined ist kein Objekt (Bewertung 'this. State.input')
import React, {Component} from 'react';
import {AppRegistry, StyleSheet, Text, TextInput, View} from 'react-native';
var english_german = 'english_german.json';
class Dictionary extends Component {
constructor(props) {
super(props);
this.state = {
input: '',
output: ''
};
}
showMeaning() {
var meaning = this.state.input in english_german ? english_german[this.state.input] : "Not Found";
this.setState({
output: meaning
});
}
render() {
return (
<View style={styles.parent}>
<Text>
Type something in English:
</Text>
<TextInput value={this.state.input}
onChangeText={(input) => this.setState({ input }) }
onSubmitEditing = {this.showMeaning}
/>
<Text style={styles.germanLabel}>
Its German equivalent is:
</Text>
<Text style={styles.germanWord}>
{this.state.output}
</Text>
</View>
);
}
};
var styles = StyleSheet.create({
parent: {
padding: 16
},
germanLabel: {
marginTop: 20,
fontWeight: 'bold'
},
germanWord: {
marginTop: 15,
fontSize: 30,
fontStyle: 'italic'
}
});
AppRegistry.registerComponent('Dictionary', function() {
return Dictionary;
})
var english_german = 'english_german.json'; 'var english_german' muss der Inhalt Ihrer Datei sein, nicht der Name selbst. – lustoykov
@leo Wie importiere ich den Inhalt der JSON-Datei? Ich habe requeste() ausprobiert und importiert. Beide haben Fehlermeldungen ausgegeben, dass das Modul nicht verfügbar ist. – Ronald