在React native

时间:2015-12-22 07:47:14

标签: javascript checkbox react-native textinput

我想检索用户名&的输入值密码和复选框状态。我在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

  }
});

1 个答案:

答案 0 :(得分:4)

在渲染之前,您可能错过了初始化初始状态函数。

 ...
 getInitialState: function() {
    return {username: ''};
 },
 render: function() {
  ....
 }

现在this.state.username应该是可访问的。