zoukankan      html  css  js  c++  java
  • React Native 中 react-navigation 导航器的使用 [亲测可用]

    在 React Native 中,官方已经推荐使用 react-navigation 来实现各个界面的跳转和不同板块的切换。 react-navigation 主要包括三个组件:

    • TabNavigator 切换组件 ,用来实现同一个页面上不同界面的切换,即tab选项卡
    • StackNavigator 导航组件,用于实现各个页面之间的跳转,即页面跳转(通过stack栈记录)
    • DrawerNavigator 抽屉组件,可以实现侧滑的抽屉效果 
    •  

    我这主要用 StackNavigator 先.因为用的是组件之间的跳转

    demo  请狠狠的 戳这里  ¥   http://download.lllomh.com/cliect/#/product/J701027723523459

    demo  请狠狠的 戳这里 c  https://download.csdn.net/download/lllomh/12021252

    先创建路由文件: 导入相关.导入组件,定义好地址

    navigator/AppNavigator.js

    
    //导航器
    import React, {Component} from 'react';
    import {Platform,Button,ScrollView,SafeAreaView,View} from 'react-native';
    import {createStackNavigator,createMaterialTopTabNavigator,createBottomTabNavigator,createDrawerNavigator,DrawerItems,createSwitchNavigator} from 'react-navigation'
    import Ionicons from 'react-native-vector-icons/Ionicons'
    import MaterialIcons from 'react-native-vector-icons/MaterialIcons'
    
    
    //引入组件页面
    import HomePage from '../pages/HomePage'
    import Page1 from '../pages/Page1'
    import Page2 from '../pages/Page2'
    import Page3 from '../pages/Page3'
    import Page4 from '../pages/Page4'
    import Page5 from '../pages/Page5'
    import Login from '../pages/Login'
    
    
    //1 创建两个导航器,用于演示createSwitchNavigator
    const AppStack = createStackNavigator({
        Home: {
            screen:HomePage
        },
        Page1: {
            screen:Page1
        },
        Page2: {
            screen:Page2
        }
    })
    const AuthStack = createStackNavigator({ //默认启动打开的组件 相当于 web 的  index.html
        Login: {
            screen:HomePage
        }
    })
    //2 将用于演示 1 createSwitchNavigator导航器导出
    export const AppSwitchNavigator =  createSwitchNavigator({
        Auth:AuthStack,
        App:AppStack
    }, {
        initialRouteName:'Auth'
    })
    
    
    
    

    然后创建对应的组件文件:

    再在App.js 中:

    
    
    import React, {Component} from 'react';
    import {Platform, StyleSheet, Text, View,Image} from 'react-native';
    
    
    
    export default class App extends Component<Props> {
    
      constructor(props) {
        super(props);
        this.state = {
          selectedTab:'home'
        }
      }
    
      render() {
        return (
            <View style={styles.container}>
              <Text>{'首页'}</Text>
            </View>
        );
      }
    }
    
    const styles = StyleSheet.create({
      container: {
        flex: 1
      }
    });
    

    最后再index.js里面:

    /**
     * @format
     */
    
    import {AppRegistry} from 'react-native';
    import {name as appName} from './app.json';
    
    import App from './App';
    import {createAppContainer} from 'react-navigation'
    
    //导入导航器(SwitchNavigator)
    import {AppSwitchNavigator} from './navigator/AppNavigator'
    
    
    //在新版的react-navigation里面提供了 一个createAppContainer组件
    const AppSwitchNavigatorContainer = createAppContainer(AppSwitchNavigator)
    
    AppRegistry.registerComponent(appName, () => AppSwitchNavigatorContainer);
    
  • 相关阅读:
    开发模型----快速原型模型
    开发模型--瀑布模型
    python_001
    Linux文件的类型与系统目录
    流程控制语句
    test命令
    排序sort && 取消重复行uniq
    sed命令——用来对文件数据的 选取、替换、删除
    颜色RGB大全
    Markdown的使用
  • 原文地址:https://www.cnblogs.com/lllomh/p/14991870.html
Copyright © 2011-2022 走看看