2
我想,當火力地堡已經結束在用戶是否被簽署執行導航方法:陣營本地導航onAuthStateChanged
/
import React, { Component, PropTypes } from 'react';
import * as firebase from 'firebase';
import {
AppRegistry,
Image,
StyleSheet,
TextInput,
Navigator,
TouchableHighlight,
Button,
Text,
View
} from 'react-native';
firebase.initializeApp({
});
class Login extends Component {
navigate(routeName) {
this.props.navigator.push({
name: routeName
});
}
constructor(props) {
super(props);
this.state = {
username_text: 'Username',
password_text: 'Password'
};
}
render() {
return (
<View>
<TouchableHighlight onPress={ this.navigate.bind(this,'register')} style={styles.button}>
<Text style={styles.buttonText}>
Logiiiiiiin
</Text>
</TouchableHighlight>
</View>
);
}
}
firebase.auth().onAuthStateChanged(user => {
if (!user) {
var login = new Login(navigator);
login.navigate(this,'register')
}
});
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
background: {
flex: 1,
resizeMode: 'cover'
},
button: {
height: 50,
backgroundColor: '#000000',
alignItems: 'center',
marginTop: 10,
justifyContent: 'center'
},
buttonText: {
fontSize: 22,
color: '#FFF',
alignSelf: 'center'
}
});
export default Login
索引文件:
import React, { Component } from 'react';
import {
AppRegistry,
Image,
StyleSheet,
TextInput,
Navigator,
TouchableHighlight,
Button,
Text,
View
} from 'react-native';
import LoginScreen from './login';
import RegisterScreen from './register';
class Test extends Component {
renderScene(route, navigator){
console.log(route);
if(route.name == 'login'){
return <LoginScreen navigator = {navigator}/>
}
if(route.name == 'register'){
return <RegisterScreen navigator = {navigator}/>
}
}
render() {
return (
<View style={styles.container}>
<Navigator
initialRoute={{name: 'login'}}
renderScene={this.renderScene.bind(this)}
/>
</View>
)
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#F5FCFF',
},
});
AppRegistry.registerComponent('Test',() => Test);
目前我得到以下錯誤:
undefined is not an object (evaluating 'this.props.navigator.push')
指向navigate
方法的this.props.navigator.push({
線
精湛謝謝! – Benni