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、c​​omponenttitle。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组件;现在,我们需要添加“关于”组件。我们将添加goToAboutgoToHome函数来在场景之间切换。

主页.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

该应用程序将呈现初始屏幕。

反应本机路由器

您可以按 按钮切换到关于屏幕。将出现后退箭头;您可以使用它返回到上一个屏幕。

反应本机路由器