为所有组件 React-Native 不设置标题
Posted
技术标签:
【中文标题】为所有组件 React-Native 不设置标题【英文标题】:Set no header for all components React-Native 【发布时间】:2018-12-03 15:58:39 【问题描述】:我有 4 个组件都定义了 static navigationOptions = header: null
。
但是在每个组件中定义它非常耗时。
所以我在 createStackNavigator 中定义了header: null
,但标题仍然出现在组件的顶部。
你们能帮忙吗?
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"
【问题讨论】:
你可以试试这里提到的接受的答案***.com/questions/44701245/… @AravindS 没有任何变化,标题仍然出现在顶部:( 你可以试试navigationOptions: header: null
在路由名称中作为道具...比如screen: Home, navigationOptions: header: null
还是没有变化
能否分享您更新的 app.js 文件。
【参考方案1】:
也许这段代码应该适合你(基于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',
,
);
你应该传递带有路由的对象作为第一个参数,公共选项作为第二个参数。
【讨论】:
以上是关于为所有组件 React-Native 不设置标题的主要内容,如果未能解决你的问题,请参考以下文章
react-native 中的小问题活动指标 |组件 |组件内的道具 |道具 |设置状态
如何将 React-Native Picker 的初始值设置为空
本地化 React 和 React-Native 组件,使其尽可能可重用