我正在使用RN 0.46.0并在设置登录组件之后我正在尝试使用导航器来推送另一个组件。但是显示了这个
无法读取未定义的属性'push'
当我点击按钮
时即使是文档也只是采用这种方式来获取另一个组件。
有人知道这是否与版本有关?
或者导航是否需要创建路线?
import React, {Component} from 'react';
import { Text, View, Navigator, TouchableHighlight } from 'react-native';
import { Card, CardSection, Input, Button } from './common';
import Signup from './Signup';
class Login extends Component {
goToSignup(){
this.props.navigator.push({
component: Signup
});
}
render() {
return(
<Card>
<CardSection>
</CardSection>
<CardSection>
<Input
placeholder="Email"
/>
</CardSection>
<CardSection>
<Input
secureTextEntry
placeholder="Password"
/>
</CardSection>
<CardSection>
<Button>
Log In
</Button>
</CardSection>
<CardSection>
<TouchableHighlight onPress={this.goToSignup.bind(this)}>
<Text >
Go to Sign up
</Text>
</TouchableHighlight>
</CardSection>
</Card>
);
}
}
export default Login;
答案 0 :(得分:2)
答案 1 :(得分:0)
这里this.props.navigator是未定义的,请确保this.props.navigator可用于避免此错误,您可以进行一次检查
goToSignup(){
if(typeof this.props.navigator !== "undefined"){
this.props.navigator.push({
component: Signup
});
}
}