實現一個React-Native 小頁面與跳轉(入門)

繼博主上一篇搭建React-Native環境搭配完成後,開始來構建我們的項目了。

首先搭建一個項目,博主第一關注的即項目的目錄。(這一方面關於項目的目錄以及搭建在網上的資料是真的很少啊)

先不多說,上圖。

(上圖是舉個栗子,命名規範有待考究)

博主在根目錄建了個src文件夾,文件裏再分了components文件夾、navigation文件夾、pages文件夾以及static文件夾和Util文件夾。

分別說下用途:

  • src: 顧名思義,就是我們寫代碼的主要地方啦。
  • components:這裏放置項目頁面的各種封裝的小組件供調用。
  • navigation:這一塊主要用於頁面跳轉處理(較爲重要)
  • pages: 這一塊主要來放置相應的各種頁面,例如博主的項目裏目前有4個頁面,分別是LoginScreen、LoginScreenOne、LoginScreenTwo還有PhoneLogin界面,至於index.js則是將所有頁面彙集導出(這一塊只是做個簡化)。
  • static:這個文件夾主要來放置一些相應的靜態文件,如圖片等。
  • Util:這個文件夾主要用來放一些項目所需的處理工具。

大致目錄即介紹完畢。

接下來走一遍項目運行流程:

首先看項目創建時產生的一個啓動頁: App.js

這個App.js即爲我們一開始運行項目所看到的頁面,在此處,博主將這個頁面重新編寫,關聯到剛剛提到的 navigation 文件夾下的 index.js 文件。

而nagivation文件夾下的 index.js 到底是什麼呢?

這一塊就要相應的學習下關於 react-navigation 這個庫的相應知識。(大致的理解就是這個庫可以用來定義相應的路由,實現相應的頁面跳轉)使用前需引入

import React, { Component } from 'react'
import {
    createAppContainer
} from 'react-navigation'
import { createStackNavigator } from 'react-navigation-stack'
import TransitionConfiguration from '../Util/TransitionConfiguration'

import {
    LoginScreen,
    LoginScreenOne,
    LoginScreenTwo
} from '../pages/index'


const SketchRouter = createStackNavigator(
    {
        LoginScreen: {
            screen: LoginScreen,
            navigationOptions: ({ navigation }) => ({
                header: null
            }),
        },
        LoginScreenOne: {
            screen: LoginScreenOne,
            navigationOptions: ({ navigation }) => ({
                header: null
            }),
        },
        LoginScreenTwo: {
            screen: LoginScreenTwo,
            navigationOptions: ({ navigation }) => ({
                header: null
            }),
        },


    },

    {
        initialRouteName: 'LoginScreen', // 默認開始頁
        headerBackTitleVisible: false,
        transitionConfig: (sceneProps) => ({
            screenInterpolator: TransitionConfiguration(sceneProps) //設置切換動畫
        })
    }
)

export default createAppContainer(SketchRouter)

博主的小項目裏大致現在的代碼是這樣。即從pages文件夾下的index.js文件導入所有我們寫好的page項目頁面,再將這些頁面寫入到 createStackNavigator 下(爲什麼名稱含Stack? 因爲可以相應的 pop() 彈出棧一樣,實現界面回退效果,也可以像push一樣跳轉到新的頁面。)而關於navigationOptions這個屬性,則是定義頁面的頭部導航欄,這裏我設置爲null, 即無的意思。(此處由於博主自己封裝了一個自己的導航欄,所以就沒用默認的了)

那在這個頁面裏我們定義了默認啓動頁爲LoginScreen頁面,即項目啓動即爲pages文件夾下我們編寫的頁面,而至於那如何在當前頁面跳轉到其他頁面呢?這一塊則可以學習關於 react-navigation 的相應知識,通過相應的api實現跳轉,例如:

更多具體的api如何使用,這一塊可以自己再相應的百度搜索,總而言之,項目的結構目錄,以及運行的流程大致就這麼實現了。而對於我上一篇所展示的頁面,自然也就可以在相應我們自己實現的頁面展示出來了。

目前還在繼續學習探索React-Native中,期待與你一起交流進步!o(*^@^*)o

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章