在不同屏幕上使用2个不同的bottomTab(多标签问题)-React Native Navigation

时间:2019-09-13 15:41:01

标签: react-native react-native-navigation

我有一个问题,也许有人可以帮助我,情况是下一个我使用底部标签的主要布局,我的问题和实际需要是..当我进入任何标签时,请说标签2和我在其主视图中放置一个按钮,然后导航到其他页面,我想用一个新的,不同的图标和其他内容替换实际的底部标签布局,我不确定如何实现这一点,任何人都可以关于这种情况的任何例子吗?除此之外,我还需要保持堆栈导航,以便能够回到新的底部标签布局中的旧底部标签布局,我真的尝试了很多方法,例如使用setStackRoot并使用包含bottomTabs声明的对象无法正常工作,实际上我的当前代码是下一个:

export const navigateMainRootTabPage = () => {
  Promise.all([
    Icon.getImageSource('comments', 24),
    Icon.getImageSource('bell', 24),
    Icon.getImageSource('user', 24)
  ]).then(sources => {
    Navigation.setRoot({
      root: {
        bottomTabs: {
          id: 'mainBottonTab',
          children: [
            {
              stack: {
                children: [
                  {
                    component: {
                      id: 'List',
                      name: 'List'
                    }
                  }
                ],
                options: {
                  bottomTab: {
                    testID: 'buttonTab1',
                    icon: sources[0]
                  }
                }
              }
            },
            {
              stack: {
                children: [
                  {
                    component: {
                      name: 'Noti',
                      id: 'Noti'
                    }
                  }
                ],
                options: {
                  bottomTab: {
                    testID: 'buttonTab2',
                    icon: sources[1]
                  }
                }
              }
            }
          ]
        }
      }
    });
  });
};

更改页面后,我可以使实际的底部标签显示为false,但是我无法替换新的底部标签,也无法找到解决方法来实现此目的。

谢谢。

1 个答案:

答案 0 :(得分:0)

我不知道如何确切地解决您的问题,但是我想在几个屏幕上隐藏我的情况下的标签栏。我想您可以这样做,在需要的地方隐藏tabBar,然后通过在主导航器中嵌套一个tabNavigator来呈现您自己的自定义标签。

有关隐藏TabBar的信息,请参见this