我想检索用户名&的输入值密码和复选框状态。我在Stackoverflow找到了这个相关的问题。但是当试图实现这个错误时
'空'不是对象(评估' this.state.username')
任何人都可以帮我检索输入值和复选框状态,因为我是React-native
的新手代码:
var CheckBox = require('react-native-checkbox');
var Button = require('react-native-button');
var reactnative = React.createClass({
render: function() {
return (
<View style={styles.container}>
<Text style={styles.signin}>Sign In</Text>
<TextInput style={styles.logininput} ref= "username" onChangeText={(event) => this.setState({username:event.nativeEvent.text})} value={this.state.username}/>
<TextInput style={styles.logininput} value="Password"/>
<CheckBox label='Remeber Me' checked = {false} onClick={this._CheckBoxState}/>
<Button style={styles.loginButton} onPress={this._handlePress.bind(this)}>
Login
</Button>
</View>
);
},
_handlePress(event) {
//Get TextInput value
var username= this.state.username;
alert(username);
},
_CheckBoxState(event){
//want to change the state from true to false or vice-versa
}
});
答案 0 :(得分:4)
在渲染之前,您可能错过了初始化初始状态函数。
...
getInitialState: function() {
return {username: ''};
},
render: function() {
....
}
现在this.state.username应该是可访问的。