如何快速搭建一個React-Native的APP

APP無難事伶棒,只怕有心人
今天我們來看看如何快速搭建自己的APP旺垒,而且用上流行的數(shù)據(jù)流解決方案、導航方案肤无。

一先蒋、技術(shù)棧

如果你對這里的技術(shù)棧感到困惑,大可不必擔心宛渐,跳過這里竞漾,直接上手下面的的Demo(例子),并不影響你搭建這個APP窥翩。因為我們會用一個腳手架一次安裝沫换,而不是一個一個安裝岁诉。
當你熟練使用下面的Demo的開發(fā)語言和邏輯時犹撒,再回過頭來开缎,慢慢掌握這里的技術(shù)棧,你也許會收獲更多仗岸。

1. React-Native

跨平臺(ios + android)的facebook推的一款用JavaScript 和 React構(gòu)建APP的框架
React-Native官網(wǎng)

2. Redux

Redux 是一個供JavaScript 應(yīng)用使用的可預測的狀態(tài)容器
說白了允耿,就是給你統(tǒng)一存數(shù)據(jù)的地方,類似的還有搭配Vue使用的Vuex
Redux github文檔

3. Redux-Saga

Redux-Saga是一個庫扒怖,致力于使副作用(side effects)的操作能更好地被管理右犹、高效執(zhí)行、容易測試姚垃、處理錯誤念链。 這里的副作用指的是,比如異步獲取數(shù)據(jù),或者可能會失敗的獲取瀏覽器緩存 這類的操作掂墓。

具體見Redux-Saga github文檔

4. React-Router

React-Router 是一個聲明式的React路由谦纱,能方便地進行頁面跳轉(zhuǎn)等。

具體見React-Router github文檔

5. React-Navigation

React-Navigation 也是用來做路由的君编,和React-Router不同的是:
React-Router 可以把Route當作組件跨嘉,在不同的地方直接定義路由 (動態(tài)路由)
React-Navigation 需要提前在一個地方配置好所有的路由 (靜態(tài)路由)

這里有 React-Navigation 2.x中文文檔

注意:我們demo用的腳手架,暫時(2019/6/22) 用的是2.x的React-Navigation吃嘿,如果你想用3.x祠乃,需要自己調(diào)整(如果你不想修改,請忽略)

6. dva

基于 redux兑燥、redux-sagareact-router 的輕量級前端框架亮瓷。
它把這些好用的東西都整合在一起。

官方提到的特性:

  • 易學易用降瞳,僅有 6 個 api嘱支,對 redux 用戶尤其友好,配合 umi 使用后更是降低為 0 API
  • elm 概念挣饥,通過 reducers, effects 和 subscriptions 組織 model
  • 插件機制除师,比如 dva-loading 可以自動處理 loading 狀態(tài),不用一遍遍地寫 showLoading 和 hideLoading
  • 支持 HMR扔枫,基于 babel-plugin-dva-hmr 實現(xiàn) components汛聚、routes 和 models 的 HMR

具體見 dva github文檔
你也可以看看這里的 dva入門課

7. react-native-dva-starter

是一個基于dva和react-navigation的React Native啟動器
具體見 react-native-dva-starter github文檔

二、Demo

現(xiàn)在我們使用dva-native-cli這個腳手架短荐,簡單高效地創(chuàng)建一個app

1. 安裝腳手架
yarn global add dva-native-cli  // yarn全局安裝腳手架
或者 npm install dva-native-cli -g  // npm全局安裝腳手架
2. 新建項目
// 使用腳手架的dvanative git命令創(chuàng)建一個名字叫demo的app
// (你可以把demo修改成其他的app名字)
dvanative git demo  
3. 進入項目目錄
cd demo // 我這里的項目目錄是demo

如果你對怎么在手機上啟動React-Native項目不了解倚舀,或者還沒有React-Native的開發(fā)環(huán)境,請先按照這里的教程一步一步搭建:React-Native環(huán)境搭建

搭建完之后搓侄,連接真機 或者 打開模擬器,之后運行下面的啟動命令:

react-native run-ios  // 啟動ios
或者 react-native run-android  // 啟動android

這里會打開一個react-native packager命令行窗口话速,不要關(guān)閉這個命令行窗口

在原來的命令行窗口中讶踪,

  • 正確提示如下

react-native run-ios:


ios正確提示

react-native run-android:

android正確提示

圖片中,emulator-5554是安卓模擬器的名字

三. 常見錯誤提示

  • React-Native環(huán)境搭建不正確 或 沒有正確連接機器:
錯誤提示

如果你遇到上面的報錯泊交,很可能你沒有搭建好React-Native的開發(fā)環(huán)境乳讥,或者沒有連接真機或模擬器,請關(guān)閉所有的命令行窗口廓俭,再次檢查自己的環(huán)境是否符合React-Native環(huán)境搭建的內(nèi)容云石,再執(zhí)行此步驟。

  • 沒有配置命令行工具路徑
image.png

如果你遇到上面的報錯研乒,如圖汹忠,打開:
Xcode > Preferences > Locations


配置命令行工具

很可能這里沒有選中任何工具,隨便選中一個下拉選項,再次運行命令即可宽菜。

四. 效果圖

恭喜你谣膳,你的app搭建完成,里面內(nèi)置了一些頁面铅乡,效果如下:

效果圖

現(xiàn)在你可以開發(fā)一些頁面继谚,或者對照項目中原有的代碼,深入了解一下上面提到的技術(shù)棧阵幸。祝你學習愉快花履!

(完)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市挚赊,隨后出現(xiàn)的幾起案子诡壁,更是在濱河造成了極大的恐慌,老刑警劉巖咬腕,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件欢峰,死亡現(xiàn)場離奇詭異,居然都是意外死亡涨共,警方通過查閱死者的電腦和手機纽帖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來举反,“玉大人懊直,你說我怎么就攤上這事』鸨牵” “怎么了室囊?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長魁索。 經(jīng)常有香客問我融撞,道長,這世上最難降的妖魔是什么粗蔚? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任尝偎,我火速辦了婚禮,結(jié)果婚禮上鹏控,老公的妹妹穿的比我還像新娘致扯。我一直安慰自己,他們只是感情好当辐,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布抖僵。 她就那樣靜靜地躺著,像睡著了一般缘揪。 火紅的嫁衣襯著肌膚如雪耍群。 梳的紋絲不亂的頭發(fā)上义桂,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機與錄音世吨,去河邊找鬼澡刹。 笑死,一個胖子當著我的面吹牛耘婚,可吹牛的內(nèi)容都是我干的罢浇。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼沐祷,長吁一口氣:“原來是場噩夢啊……” “哼嚷闭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起赖临,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤胞锰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后兢榨,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嗅榕,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年吵聪,在試婚紗的時候發(fā)現(xiàn)自己被綠了凌那。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡吟逝,死狀恐怖帽蝶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情块攒,我是刑警寧澤励稳,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站囱井,受9級特大地震影響驹尼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜庞呕,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一新翎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧千扶,春花似錦料祠、人聲如沸骆捧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽敛苇。三九已至妆绞,卻和暖如春顺呕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背括饶。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工株茶, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人图焰。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓启盛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親技羔。 傳聞我的和親對象是個殘疾皇子僵闯,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345