我无法从所有屏幕中删除标题,我在下面尝试了此设置,但标题仍未删除。是不是我将NavigationOptions设置错误?
import React, {Component} from 'react';
import {createAppContainer} from 'react-navigation';
import {createStackNavigator} from 'react-navigation-stack';
import Home from './telas/Home'
import Login from './telas/Login'
import Cadastro from './telas/Cadastro'
const stackNavigator = createStackNavigator({
Home:{
screen:Home,
},
Login:{
screen:Login
},
Cadastro:{
screen:Cadastro
},
},
{
navigationOptions:{
header:null
}
})
const AppContainer = createAppContainer(stackNavigator);
export default AppContainer;
答案 0 :(得分:1)
您可以使用headermode
headerMode -指定应如何呈现标题:
float
-渲染停留在顶部并进行动画处理的单个标题
随着屏幕的改变。这是iOS上的常见模式。screen
-每个屏幕都有一个附加的标题和标题
与屏幕一起淡入和淡出。这是常见的模式
在Android上。none
-将不显示标题。Exmaple
const ModalNavigator = createStackNavigator(
{
Main: { screen: Main },
Login: { screen: Login },
},
{
headerMode: 'none',
mode: 'modal',
defaultNavigationOptions: {
gesturesEnabled: false,
}
}
)
用法
const stackNavigator = createStackNavigator({
Home:{
screen:Home,
},
Login:{
screen:Login
},
Cadastro:{
screen:Cadastro
},
},
{
headerMode: 'none'
})
答案 1 :(得分:1)
通过defaultNavigationOptions
而不是navigationOptions
。
defaultNavigationOptions: {
header: null
}
答案 2 :(得分:0)
我们需要在createStackNavigator中指定headerMode。
尝试使用此
const stackNavigator = createStackNavigator({
Home:{
screen:Home,
},
Login:{
screen:Login
},
Cadastro:{
screen:Cadastro
},
},
{
headerMode: 'none'
})