Android程序猿的react學(xué)習(xí)之路-入門(mén)指南篇

前言

我是一名Android開(kāi)發(fā)程序員愕秫,開(kāi)發(fā)Android也有些年頭了酒奶,最近在學(xué)習(xí)react知識(shí)(react是如此之火),但是自己對(duì)于前端開(kāi)發(fā)知識(shí)又知之甚少,在國(guó)內(nèi)網(wǎng)站上也看到一些react相關(guān)的知識(shí)內(nèi)容模庐,但是感覺(jué)都是千篇一律遣耍,所以就到官網(wǎng)上來(lái)進(jìn)行系統(tǒng)的學(xué)習(xí)眠寿,在學(xué)習(xí)過(guò)程中自己就想著把官網(wǎng)的英語(yǔ)文檔翻譯為中文踩麦,希望能幫助大家九昧,同時(shí)也能鍛煉自己的英文水平(由于本人的英文水平有限御滩,翻譯有誤的地方希望大家多多提建議)
以下內(nèi)容是對(duì)react官網(wǎng) 進(jìn)行了翻譯严望,同時(shí)也會(huì)與Android進(jìn)行對(duì)比件余,有了對(duì)比學(xué)習(xí)的的效率就高鲫懒,就會(huì)有深度蚁堤,也加入了自己的一些總結(jié)醉者。

入門(mén)指南

一個(gè)JSFiddle的react例子(JSFiddle是一個(gè)前端在線編輯,編譯web app)

最簡(jiǎn)單的了解React的方法是使用以下JSFiddleHello World例子:

使用npm學(xué)習(xí)React(npm是一個(gè)包管理和分發(fā)工具)

準(zhǔn)備材料

  • nodejs,npm安裝(windows)撬即,npm類似于maven中的中央倉(cāng)庫(kù)的意思立磁。
  • 一個(gè)CommonJS的模塊系統(tǒng)的構(gòu)建工具(browserifywebpack)任意一個(gè)都可以。webpack構(gòu)建工具類似于android中的ant或gradle構(gòu)建工具剥槐,解決工程中的依賴關(guān)系唱歧,并負(fù)責(zé)編譯打包工程。
  • react和react-dom包安裝粒竖。類似于java中的類庫(kù)颅崩。
  • 編輯工具sublime(還有其他種類的編輯工具),sublime是一個(gè)輕量級(jí)的編輯工具類似于android studio(它是一個(gè)重量級(jí)的開(kāi)發(fā)工具)蕊苗,sublime可以安裝各種需要的插件沿后,在學(xué)習(xí)react首先需要安裝Babel插件(Babel的作用后面有解釋)

使用npm下載react和react-dom示例:
安裝react和react-dom包并使用browserify來(lái)編譯打包你的程序

  $ npm install --save react react-dom babelify babel-preset-react
  $ browserify -t [ babelify --presets [ react ] ] main.js -o bundle.js

安裝react和react-dom使用webpack來(lái)編譯打包你的程序

  $ npm install --save react react-dom babel-preset-react
  $ webpack

不使用npm來(lái)學(xué)習(xí)React

如果你還未準(zhǔn)備好使用npm,可以直接下載starter kit(工具包)朽砰,該工具包包含react和react-dom預(yù)制包
Download Starter Kit 0.14.7
解壓下載好的starter kit文件得运,在解壓的starter kit的根目錄下創(chuàng)建一個(gè)helloworld.html的文件,該文件內(nèi)容是:

  <!DOCTYPE html>
    <html>
     <head>
       <meta charset="UTF-8" />
       <title>Hello React!</title>
       <script src="build/react.js"></script> <script src="build/react-dom.js"></script>
       <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.min.js"></script>
   </head>
   <body>
     <div id="example"></div>
     <script type="text/babel">
         ReactDOM.render( 
             //JSX代碼
            <h1>Hello, world!</h1>, 
            document.getElementById('example') ); 
      </script>
     </body>
  </html>

JavaScript中的類似于xml的語(yǔ)法的代碼我們叫它JSX锅移,點(diǎn)擊JSX syntax可以了解更多。為了把JSX代碼轉(zhuǎn)化為javascript代碼我們使用<script type="text/babel">來(lái)導(dǎo)入Babel饱搏,Babel是真正在瀏覽器里起轉(zhuǎn)換作用非剃。

單獨(dú)的文件

你可以把上面的JSX代碼塊放入一個(gè)單獨(dú)的文件中,假設(shè)該文件名為src/helloworld.js,文件內(nèi)容如下:

    ReactDOM.render(
        <h1>Hello, world!</h1>, 
        document.getElementById('example')
    );

然后在helloworld.html文件中引用helloworld.js:

  <script type="text/babel" src="src/helloworld.js"></script>

注意有些瀏覽器(chrome等)將會(huì)加載文件失敗除非打開(kāi)一個(gè)http的服務(wù)器推沸。

離線轉(zhuǎn)換

首先安裝Babel命令行工具备绽,需要npm:

  npm install --global babel-cli
  npm install babel-preset-react

然后你就可以使用下面命令把JSX轉(zhuǎn)換為普通的javascript代碼:

  babel --presets react src --watch --out-dir build

注意:如果你使用的是ES2015,你還得下載babel-preset-es2015包

build/helloworld.js文件內(nèi)容是自動(dòng)更新的的只要源文件發(fā)生改變Babel CLI documentation可以了解更多關(guān)于Babel的知識(shí)鬓催。

轉(zhuǎn)換以后build/helloworld.js的文件內(nèi)容:

    ReactDOM.render(
       React.createElement('h1', null, 'Hello, world!'), 
      document.getElementById('example')
    );

總結(jié)

看了上面的內(nèi)容您應(yīng)該對(duì)react代碼是什么樣子肺素,開(kāi)發(fā)react需要哪些材料有了初步的了解,具體詳情可以看react官網(wǎng)宇驾,有錯(cuò)誤的地方歡迎拍磚倍靡。

期待別的章節(jié)翻譯......

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市课舍,隨后出現(xiàn)的幾起案子塌西,更是在濱河造成了極大的恐慌,老刑警劉巖筝尾,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捡需,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡筹淫,警方通過(guò)查閱死者的電腦和手機(jī)站辉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人饰剥,你說(shuō)我怎么就攤上這事殊霞。” “怎么了捐川?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵脓鹃,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我古沥,道長(zhǎng)瘸右,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任岩齿,我火速辦了婚禮太颤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘盹沈。我一直安慰自己龄章,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布乞封。 她就那樣靜靜地躺著做裙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪肃晚。 梳的紋絲不亂的頭發(fā)上锚贱,一...
    開(kāi)封第一講書(shū)人閱讀 52,328評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音关串,去河邊找鬼拧廊。 笑死,一個(gè)胖子當(dāng)著我的面吹牛晋修,可吹牛的內(nèi)容都是我干的吧碾。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼墓卦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼倦春!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起趴拧,我...
    開(kāi)封第一講書(shū)人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤溅漾,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后著榴,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體添履,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年脑又,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了暮胧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锐借。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖往衷,靈堂內(nèi)的尸體忽然破棺而出钞翔,到底是詐尸還是另有隱情,我是刑警寧澤席舍,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布布轿,位于F島的核電站,受9級(jí)特大地震影響来颤,放射性物質(zhì)發(fā)生泄漏汰扭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一福铅、第九天 我趴在偏房一處隱蔽的房頂上張望萝毛。 院中可真熱鬧,春花似錦滑黔、人聲如沸笆包。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)庵佣。三九已至,卻和暖如春汛兜,著一層夾襖步出監(jiān)牢的瞬間秧了,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工序无, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人衡创。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓帝嗡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親璃氢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子哟玷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

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

  • 前言 React技術(shù)之火爆無(wú)須多言,其與webpack的完美結(jié)合一也,也讓二者毋庸置疑的成為天生一對(duì)巢寡。為了進(jìn)行Reac...
    令狐蔥001閱讀 1,802評(píng)論 2 24
  • 前言 Update [20160725] Facebook 官方提供了一個(gè)可以生成React Starter項(xiàng)目的...
    令狐蔥001閱讀 1,661評(píng)論 0 1
  • 無(wú)意中看到zhangwnag大佬分享的webpack教程感覺(jué)受益匪淺,特此分享以備自己日后查看椰苟,也希望更多的人看到...
    小小字符閱讀 8,178評(píng)論 7 35
  • 近日看了本書(shū)抑月,《害羞心理學(xué)》。書(shū)中說(shuō)害羞其實(shí)是一種心理障礙舆蝴,而不是我們平時(shí)以為的一種性格而已谦絮。 書(shū)中說(shuō)每個(gè)人對(duì)于害...
    北方的路閱讀 452評(píng)論 0 2
  • 1.推遲滿足感题诵。 關(guān)于是先做最難搞定的事情還是先做最容易的事情了?我自己是一個(gè)習(xí)慣性的給自己找理由找借口的人层皱,其實(shí)...
    小火慢燉渺小閱讀 212評(píng)論 4 1