搭建完RN开发环境后(搭建方式可查看https://www.cnblogs.com/luoyihao/p/11178377.html),要实现多个页面之间的跳转。
1.这时需要安装react-navigation(在此之前的Navigator和ex-Navigation已经废弃),使用yarn add react-navigation命令进行安装。
2.react-navigation依赖于react-native-gesture-handler组件,因此也需要使用yarn add react-native-gesture-handler命令进行安装。
3.两个组件安装成功后,在index.js(入口文件,有可能是index.android.js或index.ios.js)注册一个App组件,引用自setup.js。
4.在setup.js中导入createStackNavigator, createAppContainer两个函数和两个页面。
import { createStackNavigator, createAppContainer } from "react-navigation"; import { Login } from "./js/pages/login"; import { ScanDevice } from "./js/pages/scanDevice";
5.用createStackNavigator封装好两个页面的路由和标题的配置,设置好初始路由。
const AppNavigator = createStackNavigator({ Login: { screen:Login, navigationOptions: { title: '冷链物流助手', headerTitleStyle:{ textAlign: 'center', flex:1, } } }, ScanDevice: { screen:ScanDevice, navigationOptions: { title: '扫描设备', headerTitleStyle:{ textAlign: 'center', marginLeft:-25, flex:1, } } }, },{ initialRouteName: 'Login' });
6.将配置好的AppNavigator再用另一个函数createAppContainer封装,然后以类的组件的形式导出。
const AppContainer = createAppContainer(AppNavigator); export default class App extends React.Component { render() { return <AppContainer />; } }
7.运行react-native run-android,如有报错则查询谷歌一步步解决。若出现Task :react-native-gesture-handler:compileDebugJavaWithJavac FAILED报错,则按照https://www.cnblogs.com/luoyihao/p/11222534.html解决。