如何在特定屏幕中隐藏标签栏react-navigation 6
...而不更改导航结构,因为它是此处文档中唯一可用的选项
问问题
100 次
1 回答
0
有时我使用这种方法
import { getFocusedRouteNameFromRoute } from ‘@react-navigation/native’;
export const MainNavigator = () => {
const getTabBarVisibility = (route) => {
const routeName = getFocusedRouteNameFromRoute(route);
const hideOnScreens = [SCREENS.REVIEW_ORDER, SCREENS.ORDER_PAYMENT]; // put here name of screen where you want to hide tabBar
return hideOnScreens.indexOf(routeName) <= -1;
};
return (
<Tab.Navigator>
<Tab.Screen
name={SCREENS.ORDER}
component={OrderNavigator}
options={({ route }) => ({
tabBarVisible: getTabBarVisibility(route),
})}
/>
<Tab.Screen name={SCREENS.REWARDS} component={SweetRewardsNavigator} />
<Tab.Screen name={SCREENS.MY_ACCOUNT} component={MyAccountNavigator} />
</Tab.Navigator>
);
};
于 2021-12-21T19:19:17.700 回答