【问题标题】:React Navigation upgrading 4.x to 5.xReact Navigation 将 4.x 升级到 5.x
【发布时间】:2020-04-18 12:01:29
【问题描述】:
const Stack = createStackNavigator(
    {
        Main: {
            screen: Main,
        },
        AddList: {
            screen: AddList,
        },
    },
    {
        headerMode: 'none',
        navigationOptions: {
          header: null,
        },
    },
);

由于反应导航的新版本,我更改了我的代码,但我不知道如何实现上述代码的最后一部分。我不确定我是使用 Stack.Screen 来实现 headerMode 和 navigationoptions 还是 Stack.navigator

const Stack = createStackNavigator();

function RootStack() {
  return (
    <Stack.Screen
      headerMode: 'none'
      options={{header: null}}
    >
      <Stack.Screen
        name="AddList"
        component={AddList}
      />
      <Stack.Screen
        name="Profile"
        component={Profile}
      />
    </Stack.Screen>
  );
}

【问题讨论】:

    标签: javascript node.js react-native expo


    【解决方案1】:

    headerMode 和 navigationoptions 不再起作用。
    现在你必须使用 Stack.Navigator 的 props screenOptions(在 Stack.Screen 周围)

    const Stack = createStackNavigator();
    function RootStack() {
      return (
     <Stack.Navigator
        screenOptions={{  headerShown: false }}
      >
        <Stack.Screen
          name="AddList"
          component={AddList}
        />
        <Stack.Screen
          name="Profile"
          component={Profile}
        />
      </Stack.Navigator>
      );
    }
    

    【讨论】:

    • headerVisisble和headerShown一样吗?
    • 是的,你可以在这里查看文档reactnavigation.org/docs/upgrading-from-4.x/…
    • 我有一堆 CreateNavigationContainer(),我想使用 NavigationContainer 包装我的 MainStack,所以基本上在版本 4.x 中导出默认 CreateAppContainer (MainStack)
    • 那么我会在 MainStack 中执行 吗?因为对于 App.js 我在做
    • 我不确定你在问什么,但我有 2 个带有反应导航 5 的项目,我只是在顶部组件的渲染中添加 。然后在 下面我有 { RootStack() }
    猜你喜欢
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 2020-06-02
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    相关资源
    最近更新 更多