スタックとタブナビゲーターの両方を使用して画面を切り替えようとしています。
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ではheaderShown
、screenOptions
使用例:
<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,
}
}
);