- React Native 教程
- React Native - 主页
- 核心概念
- React Native - 概述
- React Native - 环境设置
- React Native - 应用程序
- React Native - 状态
- React Native - 道具
- React Native - 样式
- React Native - Flexbox
- React Native - 列表视图
- React Native - 文本输入
- React Native - 滚动视图
- React Native - 图像
- 反应本机 - HTTP
- React Native - 按钮
- React Native - 动画
- React Native - 调试
- React Native - 路由器
- React Native - 运行 IOS
- React Native - 运行 Android
- 组件和 API
- React Native - 查看
- React Native - WebView
- React Native - 模态
- React Native - 活动指示器
- React Native - 选择器
- React Native - 状态栏
- React Native - 开关
- React Native - 文本
- React Native - 警报
- React Native - 地理定位
- React Native - 异步存储
- React Native 有用资源
- React Native - 快速指南
- React Native - 有用的资源
- React Native - 讨论
React Native - 路由器
在本章中,我们将了解 React Native 中的导航。
第1步:安装路由器
首先,我们需要安装Router。我们将在本章中使用 React Native Router Flux。您可以在终端中从项目文件夹运行以下命令。
npm i react-native-router-flux --save
第 2 步:整个申请
由于我们希望路由器处理整个应用程序,因此我们将其添加到index.ios.js中。对于 Android,您可以在index.android.js中执行相同的操作。
应用程序.js
import React, { Component } from 'react';
import { AppRegistry, View } from 'react-native';
import Routes from './Routes.js'
class reactTutorialApp extends Component {
render() {
return (
<Routes />
)
}
}
export default reactTutorialApp
AppRegistry.registerComponent('reactTutorialApp', () => reactTutorialApp)
第三步:添加路由器
现在我们将在 Components 文件夹中创建Routes组件。它将返回带有多个场景的Router。每个场景都需要key、component和title。Router 使用 key 属性在场景之间切换,组件将渲染在屏幕上,标题将显示在导航栏中。我们还可以将初始属性设置为最初要渲染的场景。
路由.js
import React from 'react'
import { Router, Scene } from 'react-native-router-flux'
import Home from './Home.js'
import About from './About.js'
const Routes = () => (
<Router>
<Scene key = "root">
<Scene key = "home" component = {Home} title = "Home" initial = {true} />
<Scene key = "about" component = {About} title = "About" />
</Scene>
</Router>
)
export default Routes
第 4 步:创建组件
我们已经有了前面章节中的Home组件;现在,我们需要添加“关于”组件。我们将添加goToAbout和goToHome函数来在场景之间切换。
主页.js
import React from 'react'
import { TouchableOpacity, Text } from 'react-native';
import { Actions } from 'react-native-router-flux';
const Home = () => {
const goToAbout = () => {
Actions.about()
}
return (
<TouchableOpacity style = {{ margin: 128 }} onPress = {goToAbout}>
<Text>This is HOME!</Text>
</TouchableOpacity>
)
}
export default Home
关于.js
import React from 'react'
import { TouchableOpacity, Text } from 'react-native'
import { Actions } from 'react-native-router-flux'
const About = () => {
const goToHome = () => {
Actions.home()
}
return (
<TouchableOpacity style = {{ margin: 128 }} onPress = {goToHome}>
<Text>This is ABOUT</Text>
</TouchableOpacity>
)
}
export default About
该应用程序将呈现初始主屏幕。
您可以按 按钮切换到关于屏幕。将出现后退箭头;您可以使用它返回到上一个屏幕。
