如何在React Native中创建标签导航栏?

雷克萨姆

我想创建一个标签栏,就像在此问题中也显示在Twitter上的那样,但我不希望它位于屏幕的顶部或底部。我的应用程序中必须有一个带有特定样式的标题,一些信息,并且仅在选项卡栏之后。我正在尝试使用React-Natigation来实现它,但是似乎默认情况下,您只能在屏幕顶部或底部创建标签栏。

到目前为止,我为选项卡栏创建了示例代码:

import React from 'react';
import { Text, View } from 'react-native';
import { createMaterialTopTabNavigator, createAppContainer } from 'react-navigation';

class HomeScreen extends React.Component {
  render() {
    return (
      <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
        <Text>Home!</Text>
      </View>
    );
  }
}

class SettingsScreen extends React.Component {
  render() {
    return (
      <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center'}}>
        <Text>Settings!</Text>
      </View>
    );
  }
}

const TabNavigator = createMaterialTopTabNavigator({
  Home: { screen: HomeScreen },
  Settings: { screen: SettingsScreen },
});

export default createAppContainer(TabNavigator);

这是我希望此标签栏出现的屏幕代码:

import React from 'react';
import { Text, View } from 'react-native';
import { TabNavigator } from './../MyTab.js'

class App extends React.Component {
  render() {
    return (
      <View>
        <Text style={...some style...}>Title</Text>
        <Text>Some text</Text>
        <TabNavigator />
      </View>
    );
  }
}

export default App;

但是此代码失败并显示错误:

设备:(101:380)不变违规:元素类型无效:预期为字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。

您是否有实施这样的标签栏的建议?我什至不需要真正的“导航”栏,因为它的目的是过滤一些数据,因此,每次我点击选项卡时,我只是想调用一个函数,因为它发生在具有onPress函数的项(例如按钮)上。

显示名称

您可以将TabBar嵌套在StackNavigator中。

import React from 'react';
import { View, Text } from 'react-native';
import { 
    createStackNavigator, 
    createAppContainer, 
    createMaterialTopTabNavigator } 
    from 'react-navigation';


class StackScreen extends React.Component{
 render(){
  return(
    <View>
     <Text>Title</Text>
     <Text>Some text</Text>
   </View>
   )
 }
}


const TabNavi = createMaterialTopTabNavigator({
  Home: { screen: HomeScreen },
  Settings: { screen: SettingsScreen },
});


const StackNavi = create StackNavigator({
  Main: {screen: TabNavi,
   navigationOptions: ({navigation}) => ({
      header: <StackScreen navigation= {navigation} />,
    })
  },
});

export default createAppContainer(StackNavi);

希望能有所帮助


本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在底部标签导航器中隐藏标签栏,React Native 6x

如何在React Native中创建自定义的顶部导航栏

如何在React Native中创建具有复杂形状的底部标签栏

react native使用在不同页面中创建带有底部标签栏导航器的材料顶部标签导航器

如何在react-native中隐藏顶部导航栏?

如何在React Native中隐藏和显示导航栏?

如何创建底部标签栏,该标签栏在React Native中滚动消失?

如何在React Native中实现标签导航?

如何在垂直导航栏中创建子导航

如何在React / Flux中实现导航控制器/标签栏控制器?

如何在React Native Navigation V5的标签栏中隐藏标签?

Bootstrap 3 - 如何在导航中获取标签栏

React Navigation如何从堆栈导航中隐藏标签栏

如何在 React 中创建搜索栏

在React Native中如何从导航栏中调用函数?

如何在react-native-router-flux中组合选项卡和导航栏?

如何在React Native中隐藏特定屏幕上的底部导航栏?

React Native Elements:如何在导航栏中显示标题组件?

使用React Native导航库的标签栏图标高度

如何在 React Native 中重新渲染(刷新)底部标签栏?

如何在 React Native 中实现带有标签布局的折叠工具栏

如何在android studio中创建侧面导航栏

如何在Android中创建侧面导航栏

如何在Xamarin Forms for iOS中创建导航栏?

如何在NativeScript中创建自定义导航栏?

如何在导航栏中创建后退按钮

如何在侧边栏导航中创建click事件

如何在 HTML 中创建这种类型的导航栏

如何在垂直导航栏中创建下拉列表