來自一位react新手的react入門須知

前言:自己剛剛總結的關于react的知識點,比較簡單,大家可以粗略看看。

一:關于react的一些知識點

1,Jsx

所有的html,css都可以寫在js中,這就是jsx的用法。

2,生命周期**
  • 渲染組件的時候幾個過程
  1. getDefaultProps

  2. getInitialState

  3. componentWillMount // 組件將要被加載之前的操作。如請求數據等

  4. render

  5. componentDidMount(一般在這個階段各種api的請求等,與redux配合的時候,可以在redux的action獲取接口數據。)

  • 組件存在時候
  1. componentWillReceiveProps

    // 常用的用法是父組件的props改變了,需要在子組件中通過這個生命周期獲得最新的props,然后setState組建的state

  2. shouldComponentUpdate // 組件是否要重新渲染,默認為真。

  3. componentWillUpdate

  4. render

  5. componentDidUpdate

3,數據的類型驗證:PropTypes

用于驗證數據的類型是否是滿足你的需要,不過我在現有的項目中沒有特意的指定數據的propTyoe,因為這些都是前后端約定好的。

此用法如下圖 :

image

這個如同vue組件里面的props中的type:Array這個一樣

image

4,路由(react-router)

這個與vue-router差不多,大家可以看文檔。

react-router的中文官網 : 中文官網

5,父子之間的傳遞屬性
  • 沒有使用redux,最簡單的(props與state)

  • 使用redux(狀態管理): redux中文官網 (差不多70多行代碼)

    • mobx(相對于redux較為簡單) : mobx;

    • 阿里新出的一個框架Mirror : Mirror;

6,react中獲取真實的dom節點 【ref】

因為react與vue一樣,都是使用vitural-dom,沒有處理dom節點,從而大大提高了頁面的渲染效率。

當你想要獲取真實的dom節點的時候,可以使用ref,具體的使用,可以看阮一峰的react入門,我下面的todolist的demo里面也會涉及到。

不過在你使用無狀態組件申明組件的時候,ref在這個組件中是不能使用的。

7,webpack的使用,既grunt,gulp之后的構建工具

可以通過webpack安裝各種依賴,我使用的最爽的一個就是react-hot-loader,就是熱更新,非常好用。不過熱更新其他的工具,比如browser-sync,下面是一些文檔。

8,react的腳手架工具create-react-app

如vue的vue-cli腳手架,create-react-app](https://github.com/facebookincubator/create-react-app),使用以上方法的話,與vue-cli腳手架工具類似

二、學習react(我當時的學習路線)

  1. 第一階段:

    學習之前,花費了很多時間去配置webpackreact-routerreact-hot-loader,沒有使用腳手架。

  2. 第二階段:

    學習基礎的react語法,如下面demo中的todolist,但是不涉及到redux(統一狀態管理),這個階段學的特別快。主要是我上面列的一些知識點(jsx,組件之前數據傳遞,react-router,PropTypes),最主要的就是一個模塊化的概念,個人感覺學過vue的,理解模塊化,上手應該是蠻快的。

  3. 第三階段:

    學習redux,當時是因為組建太多,而數據需要一層一層的傳遞進去,比較麻煩,就學了redux,講狀態統一管路,在用到的組件直接使用redux調用相應的狀態就好了。【這個學習的成本蠻高的,主要是理解,理解了之后使用起來很簡單。】

    想快速上手的話,可以學習mobx,這個相對于redux更加簡單,但對大型系統的話,redux更好,如果你想快速使用redux做項目開發,可以建議使用相關的框架,我上面也提到了,阿里的ant-design-pro,具體的教程官方都有,這里需要說的一點是,這個框架是配合阿里的redux框架dva使用的。大家有興趣可以看一下。

我自己的一些總結,單單學react是不難的,難的是要和一些工具混合來用,往往這個過程的成本最高。比如使用webpack構建,redux管理狀態,redux-thunk或者redux-saga來處理異步action。

還有一個很大的趨勢就是前端變化很快,拿react-router來說,你做了一個項目,react-router@2.0.0是能完美跑起來的,但是換成了當換成了react-router@3.0.0,基本上就跑不起來了,更何況現在的react-router已經出到4.0,

相應的webpack也是這樣,當時一些開發者基于webpack1.0開發的,當webpack升到2.0的時候,webpack.config,js里面的文件要重新配置了。現在webpack已經更新到了3.0。

三、關于react的網站

1,各個官網:英語好的話,真的推薦去官網看。

2, 阮一峰的文檔:react的入門,webpack的入門,react-router

3,react的一些框架和一些輪子:

3.1 : 有贊團隊 : zent;(也是一兩個月前剛開源的);

3.2 : 螞蟻金服:Ant-dedign , Ant-design-mobileant-design-pro;

3.3 : react-weui :react-weui

3.4 : react-awesome : react-awesome

4,一個漸進的學react的demo。

里面基本上涉及到了,react入門的所有涵蓋的知識,他都是自己搭的,沒有使用腳手架工具。里面也涵蓋了webpack的一些配置,對于新手學習蠻好的。

?

四、小案列(自己前段時間寫的一些小demo,比較low,大家可以看看)

1,jquery、vue、react的todolist,最簡單的

2,基于ant-dedign的一個react簡單的demo

3,基于react寫的一個簡易大眾點評的demo,里面用到了redux,mock,fetch,es6

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,362評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,577評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,486評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,852評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,600評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,944評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,944評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,108評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,652評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,385評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,616評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,111評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,798評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,205評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,537評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,334評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,570評論 2 379

推薦閱讀更多精彩內容

  • 目錄 UI組件 開發框架 實用庫 服務端 輔助工具 應用實例 Demo示例 UI組件 element★13489 ...
    余生社會閱讀 19,907評論 7 233
  • 轉載 :OpenDiggawesome-github-vue 是由OpenDigg整理并維護的Vue相關開源項目庫...
    果汁密碼閱讀 23,161評論 8 124
  • 說起雞蛋,我們都不陌生。各種各樣的吃法都有,我身邊常有的吃法:紫菜雞蛋湯、番茄雞蛋湯、甜白酒雞蛋、青椒炒蛋、西紅柿...
    熠歆閱讀 1,453評論 13 15
  • 愛.無界 文/蘭蘭 無須語言 風雨中相伴 因為有你 不會孤獨 心里住著 溫暖 總想靠著你 感受慈祥般的母愛 總想跟...
    蘭如純閱讀 168評論 0 0
  • IT人很苦逼,這或許是每個人從事IT人的心聲。在學習階段,就需要掌握大量全新的課程,學習幾乎占滿你大學所有的時間,...
    門前池塘閱讀 529評論 0 0