【发布时间】:2017-01-18 04:16:53
【问题描述】:
我非常非常了解 React Native(和 Stackoverflow),我一直在使用 Navigator 进行切换屏幕,在研究了两天后我仍然无法这样做,所以我终于求助于发布一个问题。我的代码给了我一个:“未定义不是对象(评估 this.props.navigator)”错误,这是我拥有的代码:
一个导航器类:
import HomeScreen from './HomeScreen';
import LoginScreen from './LoginScreen'
export default class Navigation extends Component {
render() {
return (
<Navigator
initialRoute={{id:"Login"}}
renderScene={(route, navigator) =>
{return this.renderScene(route, navigator)}}
/>
);
}
renderScene(route, navigator) {
switch(route.id) {
case "Login":
return (<LoginScreen {...route.passProps} navigator={navigator}/>);
case "Home":
return (<HomeScreen {...route.passProps} navigator={navigator}/>);
}
}
}
和 LoginScreen.js 文件中的 LoginButton 组件
class LoginButton extends Component {
render() {
const routes = [{id:'LoginScreen'},{id:'HomeScreen'}];
return (
<View style={{height:50}}>
<Container>
<Content>
<Button style={{backgroundColor: '#eeb211'}} onPress={this.nextScreen.bind(this)} rounded > Login Next Screen </Button>
</Content>
</Container>
</View>
);
}
nextScreen() {
this.props.navigator.push({id:"Home"})
}
}
【问题讨论】:
标签: javascript ios react-native native navigator