如何将 header 添加到 react-native-router-flux 标签栏?
How to add header to react-native-router-flux tabbar?
我正在使用 react-native
及其第三方模块 react-native-router-flux
制作 simpe 应用程序,以便轻松处理组件导航器。
我想在 tabs
上方添加 header 组件,显示我的应用程序名称和选定的标签名称。我尝试了几种方法,但我不知道将 header 组件代码放在哪里。
我的顶级组件代码是这样的
<Router>
<Scene key="root">
<Scene key="todoList" tabs tabBarStyle={{ top: 0, backgroundColor: '#ddd' }} tabBarIconContainerStyle={{ borderColor: '#000', borderWidth: 1}} initial>
<Scene key="first" title="First" icon={TabIcon}>
<Scene key="scarlet" component={TabComponent1} hideNavBar title="tab1" initial />
</Scene>
<Scene key="second" title="Second" icon={TabIcon}>
<Scene key="scarlet2" component={TabComponent2} hideNavBar title="tab2" initial />
</Scene>
<Scene key="third" title="Third" icon={TabIcon}>
<Scene key="scarlet3" component={TabComponent3} hideNavBar title="tab3" initial />
</Scene>
</Scene>
</Scene>
</Router>
这实际上看起来像
我想做的只是在选项卡上方添加 header 组件,例如
怎么做?请给我一个提示!我把代码放在哪里?
如果您想使用自己的 Header 组件,我认为您应该在单独的文件中为自己编写一个,然后 export/import 将其显示在屏幕上。 react-native 本身正在按顺序(从上到下)一个接一个地渲染组件。因此,如果您这样做,您应该将导入的 Header 组件放在 render() 函数的顶部。
另一种方法是使用像 native-base 这样的第三方模块(它已经定义了一个 Header 组件)。
我正在使用 react-native
及其第三方模块 react-native-router-flux
制作 simpe 应用程序,以便轻松处理组件导航器。
我想在 tabs
上方添加 header 组件,显示我的应用程序名称和选定的标签名称。我尝试了几种方法,但我不知道将 header 组件代码放在哪里。
我的顶级组件代码是这样的
<Router>
<Scene key="root">
<Scene key="todoList" tabs tabBarStyle={{ top: 0, backgroundColor: '#ddd' }} tabBarIconContainerStyle={{ borderColor: '#000', borderWidth: 1}} initial>
<Scene key="first" title="First" icon={TabIcon}>
<Scene key="scarlet" component={TabComponent1} hideNavBar title="tab1" initial />
</Scene>
<Scene key="second" title="Second" icon={TabIcon}>
<Scene key="scarlet2" component={TabComponent2} hideNavBar title="tab2" initial />
</Scene>
<Scene key="third" title="Third" icon={TabIcon}>
<Scene key="scarlet3" component={TabComponent3} hideNavBar title="tab3" initial />
</Scene>
</Scene>
</Scene>
</Router>
这实际上看起来像
我想做的只是在选项卡上方添加 header 组件,例如
怎么做?请给我一个提示!我把代码放在哪里?
如果您想使用自己的 Header 组件,我认为您应该在单独的文件中为自己编写一个,然后 export/import 将其显示在屏幕上。 react-native 本身正在按顺序(从上到下)一个接一个地渲染组件。因此,如果您这样做,您应该将导入的 Header 组件放在 render() 函数的顶部。
另一种方法是使用像 native-base 这样的第三方模块(它已经定义了一个 Header 组件)。