React native 反应导航:当按下图标时,如何防止使用物料底部选项卡导航器导航到未安装的选项卡屏幕?
我有一个问题要问本地开发人员。我使用createMaterialBottomTabNavigator,我希望选项卡栏中的一个按钮可以打开一个屏幕,而不是在选项卡中,而是在堆栈导航器中。根据文档,我们可以使用目标屏幕中的useEffect挂钩来防止默认行为,并从那里进行导航。下面是我在目标屏幕中的代码:React native 反应导航:当按下图标时,如何防止使用物料底部选项卡导航器导航到未安装的选项卡屏幕?,react-native,react-navigation,React Native,React Navigation,我有一个问题要问本地开发人员。我使用createMaterialBottomTabNavigator,我希望选项卡栏中的一个按钮可以打开一个屏幕,而不是在选项卡中,而是在堆栈导航器中。根据文档,我们可以使用目标屏幕中的useEffect挂钩来防止默认行为,并从那里进行导航。下面是我在目标屏幕中的代码: useEffect(() => { const unsubscribe = navigation.addListener("tabPress", (e) => {
useEffect(() => {
const unsubscribe = navigation.addListener("tabPress", (e) => {
// Prevent default behavior of tab press in bottom navigator
e.preventDefault();
// Open screen in stack navigator, not in tab navigator
navigation.navigate("TargetScreen");
});
return unsubscribe;
}, [navigation]);
它工作得很好,除了一个细节:Material Bottom Tab Navigator在路线第一次聚焦之前不会装载路线,所以我第一次按下按钮时,它会在一个选项卡中打开屏幕。之后,当我按下相同的按钮时,它会按预期在堆栈导航器中打开屏幕
有人知道解决这个问题的方法吗?有没有办法强制“材质”选项卡在路线聚焦之前安装路线?还是在屏幕第一次安装时调用钩子的方法
谢谢