`
lllomh
  • 浏览: 3246 次
文章分类
社区版块
存档分类
最新评论

React Native 中 react-navigation 导航器的使用 [亲测可用]

阅读更多
 

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

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

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

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

 

 

 

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

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);
 
分享到:
评论

相关推荐

    react-navigation导航控件使用

    npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view ``` 对于特定导航器,还需单独安装: ``` npm...

    react-native-navigation-hooks:一组用于React Native导航的React钩子

    在React Native中,导航通常是通过第三方库如React Navigation来实现的,而这个库提供了一种新的、更直观的方式来处理导航逻辑,使得开发者可以更方便地在组件之间进行跳转。 首先,让我们深入理解React Hooks的...

    react-ReactNative一体系化导航组件导航条制表符抽屉模态

    在`wix-react-native-navigation`中,可以使用`setTopBarOptions`方法来自定义导航条的样式、颜色、按钮等。例如,你可以设置标题文字、背景色、左右侧按钮的行为等。 2. **制表符(Tab Bar)**: 制表符是多页面...

    react-navigation Demo

    npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view ``` 接下来,我们将设置基本的StackNavigator。...

    RN063:演示 react-native-navigation-hybrid 如何和 react-native 0.63 集成

    在本文中,我们将深入探讨如何将`react-native-navigation-hybrid`框架与React Native 0.63版本集成,以便在Android和iOS平台上构建高性能、原生感的移动应用。`react-native-navigation-hybrid`是一个强大的解决...

    [个人实战]React Native项目中Navigation的使用

    npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view ``` 然后,我们可以引入相应的导航器并创建导航...

    react-navigation-tabs.zip

    在开始使用`react-navigation-tabs`之前,你需要确保已经安装了`react-navigation`基础库和`react-native-gesture-handler`,因为这两个是`react-navigation-tabs`的依赖。安装它们可以通过以下命令: ```bash npm ...

    使用react-native新版本(0.71)快速开发APP项目详细介绍(ts+zustand+react-navigation

    React Navigation提供了一套灵活的API,用于在React Native应用中实现导航功能,包括屏幕间的跳转、堆栈管理、底部导航栏等。它支持多种导航模式,如StackNavigator、TabNavigator和DrawerNavigator。 4. **React ...

    react native 实现app demo

    然后,你需要安装`react-navigation`库及其依赖,如`react-native-gesture-handler`和`react-native-reanimated`: ```bash cd MyApp npm install @react-navigation/native npm install react-native-gesture-...

    react-navigation-magic-move:使用react-navigation和react-native-magic-move的绑定

    React导航神奇移动 使用和绑定 :rabbit_face: :... 此绑定通过安装将导航器场景信息转发到react-native-magic-move的钩子解决了该问题。 用法 安装 $ yarn add react-navigation-magic-move 将库导入到代码顶部的某个

    react-native-navigation-bug:选项卡导航的解决方法

    - **选项卡不显示**:这可能是由于未正确安装或配置`react-native-navigation`,或者在组件层次结构中未将选项卡导航器作为根组件。 - **图标或文字不显示**:这通常与图标资源的路径或加载方式有关,确保图标已...

    reactnative底部导航栏

    在React Native中,底部导航栏(Bottom Navigation Bar)是一种常见的用户界面元素,它允许用户在应用的多个主要视图之间轻松切换。这个组件是跨平台的,既支持Android也支持iOS,提供了统一的用户体验。在...

    reactnative项目提取的基础脚手架reactnavigation集成redux

    在这个“reactnative项目提取的基础脚手架reactnavigation集成redux”中,我们主要讨论两个核心概念:React Navigation 和 Redux。 **React Navigation** React Navigation 是一个为React Native应用提供导航解决...

    react-native TabBar和Nav

    1. 安装`react-navigation`库:在项目中运行`npm install @react-navigation/native`和`npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @...

    React-Native-Navigation-Bar:使用React Native在iOS中实现自定义导航栏

    对于iOS的自定义导航栏,我们将主要使用`react-native-navigation-bar`或`react-navigation`库。虽然`react-native-navigation-bar`可能更直接地针对导航栏定制,但`react-navigation`是一个更全面的导航解决方案,...

    react-navigation-props-mapper:将React导航参数直接映射到屏幕组件的道具

    React导航道具映射器注意使用此软件包的版本1进行react-navigation版本4及更低版本使用此软件包的版本2进行react-navigation版本5 yarn add react-navigation-props-mapper 或者npm i react-navigation-props-mapper...

    react-native使用react-navigation进行页面跳转导航的示例

    在本文中,我们将使用 React-Native 和 React-Navigation 实现页面跳转导航的示例。 首先,需要确认已经配置好 React-Native 的环境。然后,创建一个新的 Native 应用程序,名称为 SimpleApp,并进入项目目录。使用...

    react native 实现登录和仿微信Tab界面()

    在React Native中,你可以使用各种库来处理用户认证,例如`react-native-authentication`或`react-native-firebase`。这些库提供了易于使用的API,用于管理登录状态、验证用户凭据和存储用户信息。通常,登录流程...

    react-navigation-collapsible:React导航的扩展,使标题可折叠

    :building_construction: 由于的不再支持可折叠Tab导航器。 用法 1-1。 默认标题 // Expo ONLY import { disableExpoTranslucentStatusBar } from 'react-navigation-collapsible' ; /* Call this If you have ...

Global site tag (gtag.js) - Google Analytics