【问题标题】:Hide parent's navigation header from the nested navigator从嵌套导航器中隐藏父级的导航标题
【发布时间】:2019-04-01 02:01:50
【问题描述】:

我正在开发我的第一个 react 原生应用。我对应用中的嵌套导航有疑问。

我有以下导航:

  • 主应用导航器:createStackNavigator
    • 身份验证导航器:createStackNavigator
    • 底部栏导航器:createBottomTabNavigator
      • 顶部选项卡导航器:createMaterialTopTabNavigator
        • 我的导航器太嵌套:createStackNavigator

我想要什么?

  • 我正在尝试隐藏 BottomBarTopTab 导航器标题在最后一个嵌套导航器中形成一个屏幕。

我做了什么?

  • 我尝试在我的嵌套导航中将标题设置为 null,但这隐藏了嵌套标题而不是父标题。
  • 我还尝试将父标题设置为空值,但这会将它们从所有屏幕中隐藏起来。

我只需要将它们隐藏在这个嵌套屏幕中。我可以从我的嵌套 React 类中更改父标题属性吗?

【问题讨论】:

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


    【解决方案1】:

    不幸的是,我不知道如何在不使用 redux 的情况下做到这一点。

    所以我不得不做一个解决方法。

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

    然后,随时导航到那个嵌套。

    此外,我必须添加自定义图标才能将用户导航回来。因为在我们的例子中,新导航器中没有用于导航回的历史记录。

    所以,我确实是这样的:

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

    });

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-25
      • 2017-07-12
      • 2021-03-11
      • 2019-06-09
      • 1970-01-01
      相关资源
      最近更新 更多