我是React Native的新手我正在制作一个示例应用程序,用户可以登录并注册新帐户.
我有两个React类,
一个是主类index.ios.js和另一个名为register.js的类.在索引类中,我说如果变量寄存器为真则呈现寄存器屏幕.
在类register.js中我试图使用this.setState({register:false})将变量寄存器设置为false,但它不会导致重新呈现父(index.ios.js).超级(状态)方法或类似的东西是我缺少的吗?我相信父状态没有得到更新的寄存器变量的值.
这是我的课程:
在index.ios.js中渲染:
render: function() {
if(this.state.register) {
return this.renderRegisterScreen();
}
else if (this.state.loggedIn) {
return this.userLoggedIn();
}
else {
return this.renderLoginScreen();
}
}
Run Code Online (Sandbox Code Playgroud)
Register.js:
var React = require('react-native');
var {
AppRegistry,
StyleSheet,
Text,
View,
Image,
TouchableHighlight,
TextInput,
} = React;
var Register = React.createClass({
render: function() {
return (
<View style={styles.container}>
<View style={styles.rafitoImage}>
<Image source={require('./logo.png')}></Image>
<Text style={styles.slogan}>Eliminate the need to wait!</Text>
</View>
<View style={styles.bottomSection}>
<View style={styles.username}>
<View style={styles.inputBorder}>
<TextInput placeholder="Username..." style={styles.usernameInput} onChangeText={(text) => this.setState({username: text})}/> …Run Code Online (Sandbox Code Playgroud)