我在这里看到一些关于这个问题的问题,但似乎没有什么符合我遇到的问题,并且有点复杂。React Native:this.setState不是函数
我正在学习ReactJS和React Native。我在阅读之中和之后从“学习母语做出反应”一书在这里的代码示例:https://github.com/bonniee/learning-react-native
出于某种原因,呼吁this.setState在当handleTextChange函数被调用下面的代码,使“这个.SetState不是一个函数。“错误。我的问题是为什么?与关于这个问题的其他问题不同,我不相信我对this.stateState的调用被隐藏在回调函数或语句中。为什么没有定义?
这里是我的代码:
class WeatherProject extends Component {
constructor(props) {
super(props);
this.state = {
zip: "",
forecast: null
};
}
_handleTextChange(event) {
this.setState({zip: event.nativeEvent.text});
}
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>
You input {this.state.zip}.
</Text>
<TextInput
style={styles.input}
onSubmitEditing={this._handleTextChange}/>
</View>
);
}
}
'onSubmitEditing = {this._handleTextChange.bind(this)} />',或'onSubmitEditing = {()=> this。_handleTextChange()} />' –
@AlexanderT。这很好,谢谢。那么,为什么我需要将它绑定到该处理程序呢? –
你可以看到这篇文章:https://medium.com/@razgoldin/using-react-es-6-syntax-fc05acf72810#.rab7bgxnw – Zargold