没有组件屏幕渲染的选项卡栏导航
Tab bar navigation without component screen render
有没有办法按下标签栏而不渲染组件屏幕?我一直在传递 null 函数,但它仍然呈现空白屏幕。我希望无论你按什么,它都会停留在主屏幕上。
您可以通过创建自定义 tabBar
组件来避免导航到屏幕,您可以在其中处理每个 tabBarComponent
的 onPress
,这样您就可以避免导航并执行一些操作。在此处仔细查看 react-navigation 文档中的示例:
https://reactnavigation.org/docs/bottom-tab-navigator/#tabbar
示例中的这行代码应该对您有所帮助:
const onPress = () => {
const event = navigation.emit({
type: 'tabPress',
target: route.key,
canPreventDefault: true,
});
if (!isFocused && !event.defaultPrevented) {
navigation.navigate(route.name);
}
};
有没有办法按下标签栏而不渲染组件屏幕?我一直在传递 null 函数,但它仍然呈现空白屏幕。我希望无论你按什么,它都会停留在主屏幕上。
您可以通过创建自定义 tabBar
组件来避免导航到屏幕,您可以在其中处理每个 tabBarComponent
的 onPress
,这样您就可以避免导航并执行一些操作。在此处仔细查看 react-navigation 文档中的示例:
https://reactnavigation.org/docs/bottom-tab-navigator/#tabbar
示例中的这行代码应该对您有所帮助:
const onPress = () => {
const event = navigation.emit({
type: 'tabPress',
target: route.key,
canPreventDefault: true,
});
if (!isFocused && !event.defaultPrevented) {
navigation.navigate(route.name);
}
};