企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
> 在移动app开发中,有各种形式的导航。导航组件中导航器和路由器是可以组合的,这样就可以定制你需要的导航组件了。 ### **选项卡导航** 效果截图: 作为一个顶层导航器 ![](https://box.kancloud.cn/c657fe613f0846ce4ad6bd85a40fb4e3_408x582.png) 嵌套在导航器中 ![](https://box.kancloud.cn/3781aa0a7369b74366ad9b924d431e00_407x647.png) 对于页面内组件暂时还未找到好的方法。 **1.顶层切换卡** index.android.js ~~~ import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, Button } from 'react-native'; import Tab from './tab'; class HomeScreen extends Component { render() { return ( <Tab /> ); } } AppRegistry.registerComponent('tang', () => HomeScreen); ~~~ tab.js ~~~ import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, Button } from 'react-native'; import { TabNavigator,StackNavigator } from "react-navigation"; import { ChatScreen } from "./app"; class RecentChatsScreen extends React.Component { render() { return ( <Text>作为单独组件123</Text> ) } } class AllContactsScreen extends React.Component { render() { return <Text>作为单独组件2</Text> } } const MainScreenNavigator = TabNavigator({ Recent: { screen: RecentChatsScreen }, All: { screen: AllContactsScreen }, }); export default MainScreenNavigator; ~~~ **1.和导航器嵌套** tab.js ~~~ import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, Button } from 'react-native'; import { TabNavigator,StackNavigator } from "react-navigation"; import { ChatScreen } from "./app"; class RecentChatsScreen extends React.Component { render() { return ( <Text>作为单独组件123</Text> ) } } class AllContactsScreen extends React.Component { render() { return <Text>作为单独组件2</Text> } } const MainScreenNavigator = TabNavigator({ Recent: { screen: RecentChatsScreen }, All: { screen: AllContactsScreen }, }); MainScreenNavigator.navigationOptions = { title: 'My Chats', }; ChatScreen.navigationOptions = { title: 'My Chats', }; const SimpleApp = StackNavigator({ Home: { screen: MainScreenNavigator }, Chat: { screen: ChatScreen }, }); export default SimpleApp; ~~~ app.js ~~~ import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, Button } from 'react-native'; export class ChatScreen extends Component { static navigationOptions = { title: 'Chat', }; render() { return ( <View> <Text>Chat with Lucy</Text> </View> ); } } export class HelloScreen extends Component { static navigationOptions = { title: 'Hello', }; render() { return ( <View> <Text>Hello 组件 </Text> </View> ); } } ~~~