gpt4 book ai didi

react-native - 堆栈导航器之间的 react 导航 goBack

转载 作者:行者123 更新时间:2023-12-03 14:55:43 28 4
gpt4 key购买 nike

在我的 React 原生应用程序中,我使用的是“react-navigation”:“^3.11.0”。
我有顶级bottomTabNavigator

const TabNavigator = createBottomTabNavigator({
Main: {
screen: balanceStack,
navigationOptions: {
tabBarLabel: I18n.t("balanceTabLabel"),
tabBarIcon: ({ tintColor}: {tintColor: string}) => (
<Icon name="home" style={{color: tintColor}} />
)
}
},
ServicesStack: {
screen: servicesStack,
navigationOptions: {
tabBarLabel: I18n.t("servicesTabLabel"),
tabBarIcon: ({ tintColor}: {tintColor: string}) => (
<Icon name="list-box" style={{color: tintColor}} />
)
}
},

}, {
tabBarOptions: {
activeTintColor: WHITE_COLOR,
inactiveTintColor: WHITE_COLOR,
style: {
backgroundColor: PRIMARY_COLOR,
}
},
backBehavior: 'history',
swipeEnabled: true,
});

每个选项卡的堆栈导航器:

const balanceStack = createStackNavigator({
Balance: {
screen: MainScreen,
},
FullBalance: {
screen: FullBalanceScreen,
},
Payment: {
screen: PaymentScreen,
},
ServiceView: {
screen: ViewServiceScreen,
},
}, {
initialRouteName: 'Balance',
headerMode: 'none',
});

const servicesStack = createStackNavigator({
AllServices: {
screen: AllServicesScreen,
},
ServiceView: {
screen: ViewServiceScreen,
},
ServiceOptionAction: {
screen: ServiceOptionsActionScreen,
}
}, {
initialRouteName: 'AllServices',
headerMode: 'none',
});

我希望所有选项卡的导航都是通用的,而不是按堆栈划分。

例如
当我导航时

Balance->FullBalanceScreen->AllServices(通过单击服务选项卡)->ServiceView

如果我单击后退按钮(调用 goBack())一次,我将返回到 AllServices。但是如果我第二次点击返回,我不会导航到 FullBalanceScreen,因为它在另一个堆栈中。我怎样才能做到这一点?

最佳答案

最后,我没有找到 TabNavigator 的解决方案,而是将其替换为顶级 StackNavigator。
我还使用自定义底部选项卡组件并将 onPress 设置为选项卡按钮

onPress () {
        this.props.navigation.navigate (this.props.navigateRouteName)
    }

其中navigateRouteName 是目标堆栈路由的routeName。

关于react-native - 堆栈导航器之间的 react 导航 goBack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57350138/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com