所有代碼托管在:https://github.com/liuxiaocong/cznews
參照提交log學(xué)習(xí)效果更佳
本期內(nèi)容:初始框架搭建:React + React navigation + Redux , fetch功能調(diào)試,html內(nèi)容解析嘗試。
這部分難點在于步驟3:react-native + redux 與 navigation框架的整合。
(1)初始化react-native項目
? ? ? ?參照:https://facebook.github.io/react-native/docs/getting-started.html,選擇“Building Projects with Native Code”,照著步驟做一次,react-native 0.46版本后,新加了Expo工具,方面快速代碼調(diào)試,但個人建議還是用舊的模式,便于更好理解創(chuàng)建原生app的整個流程。使用react和react-natvie版本如下:
"react":"16.0.0-alpha.12",
"react-native":"0.46.4",
創(chuàng)建完成后,我們對項目目錄進(jìn)行一點修改,在根目錄下創(chuàng)建js文件夾,用于專門存放js相關(guān)的代碼。在js下新建App.js,加入以下代碼:

同時修改index.ios.js和index.android.js,讓入口文件都加載app模塊,代碼如下:

第一步到此結(jié)束,此時在terminal下運行react-natvie run-ios,看到的界面為:

(2)加入React navigation
React navigation主要用于管理和實現(xiàn)頁面跳轉(zhuǎn),配置頂部action bar,和tab布局,官方網(wǎng)址:https://reactnavigation.org。之前也用過其他導(dǎo)航庫,比如大名鼎鼎的react-native-router-flux?,但說實話沒有一個好用的,React navigation在ios和android下的表現(xiàn)也有很多不一致,主要應(yīng)該是因為平臺間activity的實現(xiàn)區(qū)別,但這個庫目前已經(jīng)被官方采納,相比其他的明顯有更大的優(yōu)勢,ui問題等我們后期完成得差不多再做調(diào)整,先以ios平臺實現(xiàn)為主。