在嵌套导航器中隐藏父级的导航头

时间:2018-10-27 15:30:01

标签: react-native react-navigation react-native-navigation

我正在开发我的第一个React本机应用程序。应用程序中的嵌套导航出现问题。

我有以下导航:

  • 主应用程序导航器:createStackNavigator
    • 身份验证导航器:createStackNavigator
    • 底部栏导航器:createBottomTabNavigator
      • 顶部标签导航器:createMaterialTopTabNavigator
        • 我太嵌套的导航器:createStackNavigator

我想要什么?

  • 我试图隐藏 BottomBar TopTab ,导航器标题在最后一个嵌套导航器中形成一个屏幕。

我做了什么?

  • 我曾尝试在嵌套导航中将标头设置为null,但这隐藏了标头而不是父标头。
  • 我还尝试将父标题设置为null,但这在所有屏幕上都将其隐藏了。

我只需要将它们隐藏在此嵌套屏幕中即可。我可以从嵌套的React类中更改parent标头属性吗?enter image description here

1 个答案:

答案 0 :(得分:0)

不幸的是,我不知道如何使用Redux。

所以我不得不采取解决方法。

我直接在主导航器中声明了嵌套导航器。 “与身份验证和底部栏导航处于同一级别” ,并将此特定导航的标题设置为null。

然后,在需要时导航到嵌套的那个

此外,我还必须添加我的自定义图标来导航用户。因为在我们的例子中,新导航器中没有历史可以导航回去。

所以,我确实这样:

static navigationOptions = ({ navigation }) => ({
headerLeft: (
  <Icon
    name="chevron-left"
    color="#fff"
    underlayColor="#4BA6F8"
    onPress={() => {
      const backAction = NavigationActions.back();
      navigation.dispatch(backAction);
    }}
  />
),

});

我知道这不是我问题的真正答案,但至少可以解决我的问题。

enter image description here