搭建完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解決。