reactjs – React Navigation TabNavigator:重置选项卡更改上的
发布时间:2020-12-15 05:04:21 所属栏目:百科 来源:网络整理
导读:我有以下路线结构: StackNavigator-StackNavigator-TabNavigator--Tab1---Route 1 (Stack) (initial)---Route 2 (Stack)--Tab2---Route 3 (Stack) (initial)---Route 4 (Stack) 当我访问Tab1 – 路线1 – 路线2 – Tab2并返回Tab1,活动路径为2而不是initial
我有以下路线结构:
StackNavigator -StackNavigator -TabNavigator --Tab1 ---Route 1 (Stack) (initial) ---Route 2 (Stack) --Tab2 ---Route 3 (Stack) (initial) ---Route 4 (Stack) 当我访问Tab1 – >路线1 – >路线2 – > Tab2并返回Tab1,活动路径为2而不是initialRoute 1. 我正在做以下事情: tabBarOnPress: ({ scene }) => { const { route } = scene; const tabRoute = route.routeName; const { routeName } = route.routes[0]; navigation.dispatch(NavigationActions.navigate({ routeName: tabRoute })); navigation.dispatch(NavigationActions.reset({ index: 0,actions: [ NavigationActions.navigate({ routeName }),],})); }, 但问题是它首先显示路线2,然后导航到路线1. 如何重置之前的选项卡/屏幕,因此当我切换选项卡时,总是直接显示初始路径.
问题是当我重置路由时,我需要传递先前routeName的导航操作(离开选项卡)并为下一个路由分派新的导航操作:
tabBarOnPress: ({ previousScene,scene }) => { const tabRoute = scene.route.routeName; const prevRouteName = previousScene.routes[0].routeName; navigation.dispatch(NavigationActions.reset({ index: 0,actions: [ NavigationActions.navigate({ routeName: prevRouteName }),})); navigation.dispatch(NavigationActions.navigate({ routeName: tabRoute })); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- vue2.x 父组件监听子组件事件并传回信息的方法
- react-native – Android ScrollView忽略其边框(附带截图)
- Cocos2d-x结构学习(二)CCNode、CCNodeRGBA、CCRGBAProtoc
- ruby-on-rails – 了解为什么ruby进程阻塞100%CPU的方法
- 【android_温故知新】第 3 组 UI 组件:ImageView 及其子类
- postgresql8.4安装失败、服务卸载。
- ruby – 在Logstash中转换时间戳时区以获取输出索引名称
- 一个使用MFC实现Com聚合的例子
- 获取和返回XML文档的Web服务 – 为什么?
- 从Oracle存储过程返回XML
推荐文章
站长推荐
热点阅读