React-native初窺(關(guān)于leetcode試題想法)

早就聽(tīng)說(shuō)React-native大名蛾茉,一直未去嘗試慧域。近期由于項(xiàng)目調(diào)研需要侄非,想拿原生和react-native app進(jìn)行比較登淘。正好最近想實(shí)現(xiàn)一個(gè)leetcode題庫(kù) app箫老,但用iOS做意義不大,正值5.1假期黔州,便試上一試耍鬓。

剛開(kāi)始接觸,最好看官網(wǎng)文檔流妻,更新實(shí)在太快界斜,ES6和ES5語(yǔ)法不同,版本更迭坑又多合冀。了解一些基本的html和js語(yǔ)法即可各薇,但React采用JSX語(yǔ)法,可當(dāng)做新語(yǔ)言學(xué),但也有它的套路峭判。大多數(shù)坑都是從官方issue和文檔开缎、Stack Overflow上填的。

安裝

直接看官網(wǎng)文檔林螃,不過(guò)npm和其它很多組件需要更新奕删,以O(shè)S-X系統(tǒng)為例,使用brew更新需要的軟件,最好設(shè)置代理shadosocks或者h(yuǎn)ttp代理.
安裝過(guò)程只要這些前提工作準(zhǔn)備好疗认,安裝官網(wǎng)指令非惩瓴校快的,主要參考以下教程横漏。
mac更新node
brew update 慢 解決辦法 鏡像更新源

官網(wǎng)安裝指令如下:

brew install watchman
npm install -g react-native-cli
react-native init AwesomeProject
cd AwesomeProject
react-native run-ios```

安裝啟動(dòng)后

![React-Native項(xiàng)目一般目錄結(jié)構(gòu)](http://upload-images.jianshu.io/upload_images/764980-a9385fac29c5c8e6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
其中比較重要的是package.json
這里面包括了所有的依賴

![package,json](http://upload-images.jianshu.io/upload_images/764980-d8952d8561ffa8ac.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
我這個(gè)項(xiàng)目比較老谨设,依賴沒(méi)有參考性,有的依賴升級(jí)后缎浇,變動(dòng)很大了扎拣,比如說(shuō)react和react-native兩個(gè)庫(kù)中的組件更替。

###IDE和調(diào)試
####IDE
IDE推薦WebStorm(2017.1月版網(wǎng)上已有[激活碼](http://www.reibang.com/p/4a2875961dd0),和IDEA同根同源素跺,使用習(xí)慣和界面風(fēng)格類似)
[WebStorm里面配置運(yùn)行React Native的方案](http://www.cnblogs.com/shaoting/p/6110202.html)
這一方案可實(shí)時(shí)根據(jù)JSX代碼查看界面二蓝,非常方便,直接運(yùn)行指厌,不用打開(kāi)xcode占用內(nèi)存了刊愚。
注意運(yùn)行React-Native在iOS Simulator中,兩個(gè)快捷鍵經(jīng)常用到踩验。<pre>command+D</pre>可以打開(kāi)設(shè)置選項(xiàng)鸥诽,可以允許chrome遠(yuǎn)程調(diào)試和實(shí)時(shí)更新操作;而
<pre>command+R</pre>是重新load JS的操作晰甚。

也有采用atom或者其它IDE的衙传,atom的優(yōu)點(diǎn)在于插件豐富,功能強(qiáng)大厕九。
####調(diào)試
前端調(diào)試當(dāng)然是用chrome,這方面我經(jīng)驗(yàn)不是很多蓖捶,就不多說(shuō)了。

###語(yǔ)法
####JSX語(yǔ)法
阮一峰有一系列教程可以參考
[ECMAScript6](http://es6.ruanyifeng.com/#docs/intro)
[ReactNative學(xué)習(xí)筆記--JS基礎(chǔ)使用語(yǔ)法](http://www.imooc.com/article/14400)
[深入淺出ES6(二):迭代器和for-of循環(huán)](http://www.infoq.com/cn/articles/es6-in-depth-iterators-and-the-for-of-loop)

####Flex布局
[Flex布局教程-阮一峰](http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html)

###開(kāi)源項(xiàng)目和資源
[如何學(xué)習(xí)React native扁远,有哪些建議或資源俊鱼?](https://www.zhihu.com/question/56628437)
[美食項(xiàng)目-親測(cè)可運(yùn)行,做的還不錯(cuò)](https://github.com/ljunb/react-native-iShiWuPai)
[分享 50 個(gè)完整的 React Native 項(xiàng)目](https://juejin.im/post/58f37cb361ff4b0058f9824a?utm_source=tuicool&utm_medium=referral)
[React-native開(kāi)發(fā)過(guò)程中常見(jiàn)錯(cuò)誤](http://www.reibang.com/p/98c8f2a970eb)

###基于LeetCode的小Demo
實(shí)現(xiàn)一個(gè)展示題目清單和題目詳情的頁(yè)面畅买。
用到組件
- ListView
- View
- Text
- React Navigation(stacknavigator)
- css一些styles并闲,利用flex布局



由于我的數(shù)據(jù)是array中嵌入json,所以用下面這種處理方法谷羞。
[ReactNative中實(shí)現(xiàn)實(shí)現(xiàn)ListView的數(shù)據(jù)源是多維數(shù)組](http://www.tuicool.com/articles/RVVfui3)
#####TODO
- Leetcode數(shù)據(jù)爬蟲(chóng)去爬取||直接本地處理他人題庫(kù)存入數(shù)據(jù)庫(kù)
   - 有一些開(kāi)源的如python和nodejs處理的帝火,或者jsoup解析html溜徙。
- 代碼格式化處理呈現(xiàn)在React-Native中
  - markdown處理代碼風(fēng)格是怎么做到的?
- 之后的關(guān)注點(diǎn)
  - state和props特性學(xué)習(xí)
  - tabbar和navigation組件
  - react中的多線程技術(shù)-如何異步
  - 上拉下拉數(shù)據(jù)刷新
  - 圖標(biāo)展現(xiàn)(i-test)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末犀填,一起剝皮案震驚了整個(gè)濱河市蠢壹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌九巡,老刑警劉巖图贸,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異冕广,居然都是意外死亡疏日,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門撒汉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)沟优,“玉大人,你說(shuō)我怎么就攤上這事神凑【簧瘢” “怎么了何吝?”我有些...
    開(kāi)封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵溉委,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我爱榕,道長(zhǎng)瓣喊,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任黔酥,我火速辦了婚禮藻三,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘跪者。我一直安慰自己棵帽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布渣玲。 她就那樣靜靜地躺著逗概,像睡著了一般。 火紅的嫁衣襯著肌膚如雪忘衍。 梳的紋絲不亂的頭發(fā)上逾苫,一...
    開(kāi)封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音枚钓,去河邊找鬼铅搓。 笑死,一個(gè)胖子當(dāng)著我的面吹牛搀捷,可吹牛的內(nèi)容都是我干的星掰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼氢烘!你這毒婦竟也來(lái)了便斥?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤威始,失蹤者是張志新(化名)和其女友劉穎枢纠,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體黎棠,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡晋渺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了脓斩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片木西。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖随静,靈堂內(nèi)的尸體忽然破棺而出八千,到底是詐尸還是另有隱情,我是刑警寧澤燎猛,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布恋捆,位于F島的核電站,受9級(jí)特大地震影響重绷,放射性物質(zhì)發(fā)生泄漏沸停。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一昭卓、第九天 我趴在偏房一處隱蔽的房頂上張望愤钾。 院中可真熱鬧,春花似錦候醒、人聲如沸能颁。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)伙菊。三九已至,卻和暖如春昌简,著一層夾襖步出監(jiān)牢的瞬間占业,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工纯赎, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谦疾,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓犬金,卻偏偏與公主長(zhǎng)得像念恍,于是被迫代替她去往敵國(guó)和親六剥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,070評(píng)論 25 707
  • 1.安裝Node.js https://nodejs.org/en/在上面的網(wǎng)址中下載Nodejs峰伙,然后進(jìn)行安裝一...
    馬大俊不是啥好人閱讀 4,703評(píng)論 2 44
  • 我坐著晚班電車疗疟,穿越燈光之海。剛剛在影院看過(guò)《星際迷航》瞳氓。畫面酷炫好看策彤,情節(jié)跌宕起伏,坐了將近三個(gè)小時(shí)匣摘,倒也不覺(jué)累...
    雪國(guó)年華閱讀 746評(píng)論 0 50
  • dispatch_once主要是根據(jù)onceToken的值來(lái)決定怎么去執(zhí)行代碼店诗。 1.當(dāng)onceToken= 0時(shí)...
    袁小童緣閱讀 3,226評(píng)論 1 0
  • 清晨的第一縷陽(yáng)光剛剛灑到山林間,伶俐鬼便手執(zhí)鋼叉音榜,從洞穴里精神飽滿地邁出庞瘸。他要去巡山,這是一種古老的習(xí)俗赠叼,是妖精賴...
    心靈綠洲閱讀 298評(píng)論 0 1