javascript - 为所有组件 React-Native 不设置标题
问题描述
我有 4 个组件都已static navigationOptions = {header: null}
定义。但是在每个组件中定义它非常耗时。所以我{header: null}
在 createStackNavigator 中定义,但标题仍然出现在组件的顶部。
你们能帮忙吗?
import { createStackNavigator } from 'react-navigation';
import Home from './Components/Home';
import Main from './Components/Main';
import SubjectDetail from './Components/AnimalSubject';
import Lesson from "./Components/Lesson";
const App = createStackNavigator({
First: { screen: Home },
Second: { screen: Main },
Third: { screen: SubjectDetail },
Four: {screen: Lesson},
//Route name with specified component
},
{
transitionConfig: () => ({ screenInterpolator: () => null }),
//remove transition config
},
{
initialRouteName: 'First',
//the component name 'Home' will be initiated first
},
{
header: null
//defined header: nul
}
);
export default App;
我的环境
"react": "16.3.1",
"react-native": "~0.55.2",
"react-navigation": "^2.2.5",
"node": "v8.11.2"
"npm": "v6.1.0"
解决方案
可能这段代码应该适合你(基于Stack navigator docs)
const App = createStackNavigator({
First: { screen: Home },
Second: { screen: Main },
Third: { screen: SubjectDetail },
Four: {screen: Lesson},
},
{
headerMode: 'none',
transitionConfig: () => ({ screenInterpolator: () => null }),
initialRouteName: 'First',
},
);
您应该将带有路由的对象作为第一个参数,将常用选项作为第二个参数。
推荐阅读
- javascript - 如何清理数据或输入
- php - 迁移 blob 字段 mysqli
- symfony4 - 如何查看小黄瓜的版本?
- hive - 单列值到配置单元中的多列
- api-platform.com - 由转换器创建的 Api Platform DTO 对象没有被持久化
- php - 如何在 laravel 中从 facebook 获取大头像图像
- java - 如何在Java中将十进制时间戳转换为带有尾随小数的日期
- c# - 如何转换列表
进入列表 我可以将一个转换
List<string[]>
成一个List<int[]>
吗?还是我必须将字符串数组转换为 int 数组,然后将其放入这样的新列表中?
List<string[]> arrayStringList = new List<string[]>(
- jquery - 剑道内联编辑干扰,如果网格中的另一行已经处于编辑模式,则在编辑一行时
- jquery - 尝试设置类时无法重新初始化 DataTable 错误