React Native 學習

React Native? 路線


基本路線如下:

1.詳細了解 JavaScript

2.詳細了解 React

3.詳細了解 React Native

4.其他(比如說 Redux)

JavaScript

? 了解 JavaScript 的繼承和原型鏈機制,同時包括 JavaScript 的對象模型。

參考資料:JavaScript_MDN格粪,ECMAScript6 入門雷猪,JavaScript文檔

? ? ? 從 MDN 的 JavaScript 教程開始學習待锈,這是 JavaScript 的基礎知識篡帕,有一定編程經(jīng)驗在初級部分可以看的快一點彩倚,關(guān)于JavaScript 對象入門姥卢、繼承與原型鏈卷要、對象模型的細節(jié)要著重詳細的看。如果跳著看思路跟不上独榴,可以從頭到尾仔細的看一遍僧叉。 MDN 的教程看完之后后就可以看 ES6 相關(guān)內(nèi)容了」桌疲可以看 ruanyifeng 的 ES6 網(wǎng)上教程瓶堕,也可以看 MDN 的JavaScript指南,兩者可以對比的看症歇。關(guān)鍵要理解 ES6 的模塊(Module), 重點:Module語法?和?Module 的加載實現(xiàn)和基本的 ES6 語法郎笆。在看的過程中有些內(nèi)容可能不懂,可以跳過忘晤,在寫代碼或碰到相關(guān)代碼碰到的時宛蚓,回過頭來看,記住有這么一個東西即可设塔。也可以對比一下與其他語言在這方面的不同和相同(lg: Java 程序員凄吏,學習 JavaScript,就可以對比一下 Java 的繼承和 JavaScript 的繼承)闰蛔,同時可以加深你對 JavaScript 的理解痕钢。

? ? 看完這些 JavaScript 已經(jīng)入門了。JavaScript 是弱類型語言序六,代碼寫著寫著就不知道當前函數(shù)的參數(shù)定義是什么任连。不知道一個東西確定是什么是很痛苦的(你可以想象一下.....)。TypeScript 是微軟的一個比較流行的解決這類問題的方案例诀,是給 JavaScript 加上 類型随抠。如果你碰到類似問題,TypeScript 就是你的解決方案繁涂。

React

? ? ? ?根據(jù) React Native 的官方文檔來學習暮刃。了解 React 是很關(guān)鍵的。喜歡立即上手的人爆土,可以先不看 React 相關(guān)的內(nèi)容椭懊,直接學習 RN。但寫了一定量的代碼以后,會碰到一些問題(如何復用組件氧猬,如何處理一些不是很常見的操作背犯,如何處理數(shù)據(jù)等等),這時候你就可以開始去了解 React 了盅抚。

了解 React 當然是官方文檔:

React 中文文檔

React 英文官方文檔

內(nèi)容是一樣的漠魏。

(建議:能夠全部看完所有內(nèi)容,不要忽略任何一個地方妄均,當然文檔是不夠的柱锹,我覺得有時間一定要理解一下 React 的實現(xiàn)原理)

React Native

? ? ?強調(diào)一下,學習 RN 可以先不了解 JavaScript 和 React(前提是你要有一點編程經(jīng)驗丰包,如果是大神的話禁熏,請隨意)。喜歡立即上手的可以直接根據(jù)官方文檔上手邑彪,不過要深入了解 RN瞧毙,則必須要了解 React 和 JavaScript。

RN 的文檔?官方英文文檔中文版)寄症,環(huán)境依賴等根據(jù)官方文檔來操作即可宙彪。

RN? 關(guān)鍵了解使用的部分如下:

FlexBox :一個前端布局的方式,寫界面的時候一定要了解有巧,否則界面就構(gòu)建不出來各種 UI 組件的使用释漆、屬性等,可邊寫代碼邊使用

網(wǎng)絡請求 : 所有的客戶端都有網(wǎng)絡請求篮迎,所以這個也很關(guān)鍵男图。有一個框架?axios?可以嘗試使用,這是一個 HTTP 客戶端框架如何與(原生代碼交互柑潦,iOS 相關(guān)文檔地址?iOS Native ModulesiOS Native UI Components峻凫,Android 相關(guān)文檔?Android Native Modules渗鬼、Android Native UI Components)。

數(shù)據(jù)存儲:使用 RealmJS 或者原生的 AsyncStorage荧琼,使用 RealmJS 的問題是譬胎,如果你的 iOS 原生項目已經(jīng)使用了 RealmSwift 等的話,會導致符號沖突命锄,無法通過編譯堰乔。(坑:建議在原生項目上添加 RN 支持,文檔地址集成到現(xiàn)有原生應用脐恩。如果使用?create-react-native-app AwesomeProject?命令來生成一個 RN 項目镐侯,會引入 Expo 這種東西,不建議使用此類框架驶冒。不建議使用?NavigatorIOS?這類組件苟翻,推薦?React Navigation韵卤,但是這個開源組件坑也比較多,不過個人認為還是比 RN 提供的組件要好)崇猫。其他Redux沈条,Redux 是一個關(guān)于數(shù)據(jù)流的前端框架,也可以用在 RN 中诅炉。其他還有類似的比如 MobX(據(jù)說新版 React 有種 Context API 可以讓我們告別使用 Redux蜡歹,應該是比較新的東西)。

開始可以不使用 Redux涕烧,Redux 的官網(wǎng)也提示說如果不知道要不要使用 Redux月而,則不要使用 Redux。

學習文檔:Redux 英文官方文檔中文版

理解 Redux 比較關(guān)鍵的是它的狀態(tài)樹澈魄,所有的操作最終會反應到狀態(tài)樹上景鼠,所有的操作也是圍繞狀態(tài)樹展開來的。所以一開始做客戶端的時候設計一個比較貼切的狀態(tài)樹很關(guān)鍵痹扇。

進階

1)打包

2)熱更新

3)與原生交互

4)RN 原生實現(xiàn)原理

參考資料:

React Native拆包及熱更新方案

攜程是如何做React Native優(yōu)化的

微軟的熱更新方案 CodePush

ReactNative中文網(wǎng)推出的代碼熱更新服務

iOS Native Modules

iOS Native UI Components

Android Native Modules

Android Native UI Components

React Native通信機制詳解


開發(fā)環(huán)境

1.Atom(卡)2.Visual Studio Code? (配置 TypeScript 環(huán)境铛漓,demo)

注意:

? ? ??需要掌握RN的要求還是有一定知識度的,既要了解前段的相關(guān)知識鲫构,又要了解Android和iOS的原生知識浓恶。純 JavaScript 的 RN 項目不現(xiàn)實,建議原生使用RN,不要以RN為主结笨。不建議使用其他類似 RN 的解決方案包晰,比如說 Weex。 RN 的生態(tài)環(huán)境是很活躍的炕吸,GitHub 有很多開發(fā)者共享的開源代碼伐憾,很多人也在 GitHub 和 stackoverflow 上討論自己碰到的 RN 相關(guān)的問題。但是即使如此赫模,RN 還是沒有出 1.0 版本树肃,而且在實際使用過程中經(jīng)常要自己造輪子,也會碰到很多奇奇怪怪的問題瀑罗,導致拖累開發(fā)速度胸嘴,從學習角度不是問題,但是工作就不一樣了斩祭。所以使用 Weex 情況可能更糟糕劣像。

conclusion:

React Native的學習過程更像是在學習React的前端開發(fā),最大的區(qū)別就是瀏覽器和移動設備而已摧玫。但是換個角度來想耳奕,原生移動勢微的情況下,從React Native入手前段開發(fā)也不錯。在學習當中結(jié)合自己相關(guān)的開發(fā)知識吮铭,對比React Native时迫,能更快鞏固React Native相關(guān)知識,也加強了對自己的知識點加深谓晌。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市纸肉,隨后出現(xiàn)的幾起案子溺欧,更是在濱河造成了極大的恐慌,老刑警劉巖柏肪,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姐刁,死亡現(xiàn)場離奇詭異,居然都是意外死亡烦味,警方通過查閱死者的電腦和手機聂使,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谬俄,“玉大人柏靶,你說我怎么就攤上這事±B郏” “怎么了屎蜓?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長钥勋。 經(jīng)常有香客問我炬转,道長,這世上最難降的妖魔是什么算灸? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任扼劈,我火速辦了婚禮,結(jié)果婚禮上菲驴,老公的妹妹穿的比我還像新娘荐吵。我一直安慰自己,他們只是感情好谢翎,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布捍靠。 她就那樣靜靜地躺著沐旨,像睡著了一般森逮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上磁携,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天褒侧,我揣著相機與錄音,去河邊找鬼。 笑死闷供,一個胖子當著我的面吹牛烟央,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播歪脏,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼疑俭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了婿失?” 一聲冷哼從身側(cè)響起钞艇,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎豪硅,沒想到半個月后哩照,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡懒浮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年飘弧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片砚著。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡次伶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出赖草,到底是詐尸還是另有隱情学少,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布秧骑,位于F島的核電站版确,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏乎折。R本人自食惡果不足惜绒疗,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望骂澄。 院中可真熱鬧吓蘑,春花似錦、人聲如沸坟冲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽健提。三九已至琳猫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間私痹,已是汗流浹背脐嫂。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工统刮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人账千。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓侥蒙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親匀奏。 傳聞我的和親對象是個殘疾皇子鞭衩,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容