スタックナビゲーターのReactナビゲーションでヘッダーを非表示にする 質問する

スタックナビゲーターのReactナビゲーションでヘッダーを非表示にする 質問する

スタックとタブナビゲーターの両方を使用して画面を切り替えようとしています。

const MainNavigation = StackNavigator({
      otp: { screen: OTPlogin },
      otpverify: { screen: OTPverification},
      userVerified: {
        screen: TabNavigator({
          List: { screen: List },
          Settings: { screen: Settings }
        }),
      },
    });

この場合、最初にスタック ナビゲーターが使用され、次にタブ ナビゲーターが使用されます。スタック ナビゲーターからヘッダーを非表示にしたいのですが、次のようなナビゲーション オプションを使用すると、正しく機能しません。

navigationOptions: { header: { visible: false } }

私は、stacknavigator で使用されている最初の 2 つのコンポーネントでこのコードを試しています。この行を使用すると、次のようなエラーが発生します。

ここに画像の説明を入力してください

ベストアンサー1

バージョン5以降の更新

バージョン5ではheaderShownscreenOptions

使用例:

<Stack.Navigator
  screenOptions={{
    headerShown: false
  }}
>
  <Stack.Screen name="route-name" component={ScreenComponent} />
</Stack.Navigator>

1 つの画面でのみヘッダーを非表示にしたい場合は、画面コンポーネントの screenOptions を設定することでこれを実現できます。次に例を示します。

<Stack.Screen options={{headerShown: false}} name="route-name" component={ScreenComponent} />

以下も参照ブログバージョン5について

更新
バージョン 2.0.0-alpha.36 (2019-11-07) 以降、
新しい navigationOption が追加されました。headershown

      navigationOptions: {
        headerShown: false,
      }

https://reactnavigation.org/docs/stack-navigator#headershown

https://github.com/react-navigation/react-navigation/commit/ba6b6ae025de2d586229fa8b09b9dd5732af94bd

古い回答

これを使用してスタック バーを非表示にします (これは 2 番目のパラメータの値であることに注意してください)。

{
    headerMode: 'none',
    navigationOptions: {
        headerVisible: false,
    }
}

この方法を使用すると、すべての画面で非表示になります。

あなたの場合は次のようになります:

const MainNavigation = StackNavigator({
  otp: { screen: OTPlogin },
  otpverify: { screen: OTPverification },
  userVerified: {
    screen: TabNavigator({
    List: { screen: List },
    Settings: { screen: Settings }
   }),
 }
},
{
  headerMode: 'none',
  navigationOptions: {
    headerVisible: false,
  }
 }
);

おすすめ記事