关于react-navigation跳转问题
来源:5-6 Popular(最热)模块的自定义标签功能实现-1
杰神
2017-07-18
我在页面里面使用的是
react-navigation
首先打开setpujs页面,然后设置了
const SimpleApp = StackNavigator({
welcome: {screen: WelcomePage},
HomePage:{screen:HomePage},
CustomKeyPage:{screen:CustomKeyPage}
});
这个时候因为WelcomePage在第第一个,就直接进入了WelcomePage页面。
在WelcomePage里面使用
componentDidMount(){
setTimeout(()=>{
this.props.navigation.navigate('HomePage',{user:'Luojie'})
},3000)
}
跳转到了HomePage页面
这个时候,我点击返回按钮,就会先返回到HomePage,再返回到WelcomePage,然后再点击返回按钮才会退出app,也就是得先进入了欢迎页面才退出,我现在需要改成在点击HomePage的时候就跳出,查询react-navigation,得知可以设置
const SimpleStack = StackNavigator(
{
Profile: {
path: 'people/:name',
screen: MyProfileScreen,
},
Photos: {
path: 'photos/:name',
screen: MyPhotosScreen,
},
Home: {
screen: MyHomeScreen,
},
},
{
initialRouteName: 'Home',
}
);
如果我再重新写一次SimpleApp不太合理,我想知道怎样在进入了WelcomePage之后再次设置initialRouteName
1回答
-
CrazyCodeBoy
2017-07-20
可以通过react-navigation的reset api来实现你的需求哦:
var {navigation,theme,selectedTab}=params; const resetAction = NavigationActions.reset({ index: 0, actions: [ NavigationActions.navigate({ routeName: 'HomePage', params:{ theme:theme, selectedTab:selectedTab }, }) ] }) navigation.dispatch(resetAction)
00
相似问题