react

React的特點

  • React不是一個完整的MVC,MVVM框架,只負(fù)責(zé)view層。
  • React跟Web Components不沖突
  • React的特點就是“輕”
  • 組件化的開發(fā)思路

React的優(yōu)點

  • 復(fù)雜場景下的高性能
  • 重用組件庫,組件組合

React

  • JSX (javascript xml):Facebook為react開發(fā)的語法糖,對程序的功能沒有什么影響,增強(qiáng)程序的可讀性。
  • 組件通過this.props來或許父類傳來的參數(shù)。
  • 在react中寫類的時候,用className=“name”,如果用內(nèi)聯(lián)樣式,那么用樣式對象來寫className={{color:'red'}},因為{}是計算符,所以外面要寫一個,一般的css,在react中用駝峰寫法,比如:font-size,用fontSize來寫就可以了。

聲明周期

react通過對每個狀態(tài)封裝hook函數(shù)。

  • mounting:getDefaultProps()=>getInitialState()=>componentWillMount=>render=>componentDidMount
  • updating(很少修改,按照內(nèi)部實現(xiàn)):componentWillReceiveProps=>shouldComponentUpdate=>componentWillUpdate=>render=>componentDidUpdate
  • unmounting(不需要操作,因為瀏覽器有自己的垃圾回收機(jī)制):componentWillUnmount
  • 利用state,直接使用this.state就可以使用,里面可以定義數(shù)據(jù)類型和方法。
  • props:一旦指定,一般不會變,值是父組件傳遞給子組件,是外來的。
  • state:屬于當(dāng)前組件,是可變的,通過setState()可以修改state。
  • componentWillReceiveProps:當(dāng)有新的props時候,會被調(diào)用,參數(shù)為新的props。
  • shouldComponentUpdate:接受新的props或者state之后調(diào)用,兩個參數(shù),分別為新的props和state。
  • React.render(element,container),只可以包含一個element,如果使用多個,可以用一個容器包起來。

React-Event-Listener

  • onClick:綁定事件很簡單,駝峰式寫法。
  • ref="tip":通過對組件里面的元素添加ref屬性,來達(dá)到引用的效果。<div ref="tip">124</div>,引用的時候,通過this.refs.tip,這個是虛擬的,要通過React,findDOMNode(this.refs.tip)來才可以。

React實戰(zhàn)

  • 通過yeoman來生成項目.
  • 熱啟動。REACT_DEVTLOOLS_GLOBAL_HOOK,通過這個全局對象來安裝chrome的react插件。
  • babel:將es6轉(zhuǎn)換為es5

webpack

  • 插件html等。
  • 加載器css-loader等。

Redux

  • 數(shù)據(jù)流是我們的行為與響應(yīng)的抽象。
  • 使用數(shù)據(jù)流幫助我們明確了行為對應(yīng)的響應(yīng)。
  • 單向數(shù)據(jù)流
  • Paste_Image.png
  • React 簡單回顧
  • Paste_Image.png
  • react-redux
  • Paste_Image.png

項目結(jié)構(gòu)

  • actions:用戶行為
    是行為的抽象
    是普通的action對象
    一般由方法生成
    必須有一個type屬性
  • components:組件
  • container:組件
  • reducer:分發(fā)action
    是響應(yīng)的抽象
    純方法
    傳入舊狀態(tài)和action
    返回新狀態(tài)
    store
    action作用于store
    reducer根據(jù)store響應(yīng)
    store是唯一的
    store包括了完整的state
    state完全可預(yù)測
  • 組件
  • Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 自己最近的項目是基于react的,于是讀了一遍react的文檔,做了一些記錄(除了REFERENCE部分還沒開始讀...
    潘逸飛閱讀 3,741評論 1 10
  • 最近看了一本關(guān)于學(xué)習(xí)方法論的書,強(qiáng)調(diào)了記筆記和堅持的重要性。這幾天也剛好在學(xué)習(xí)React,所以我打算每天堅持一篇R...
    gaoer1938閱讀 1,815評論 0 5
  • 原教程內(nèi)容詳見精益 React 學(xué)習(xí)指南,這只是我在學(xué)習(xí)過程中的一些閱讀筆記,個人覺得該教程講解深入淺出,比目前大...
    leonaxiong閱讀 2,944評論 1 18
  • It's a common pattern in React to wrap a component in an ...
    jplyue閱讀 3,405評論 0 2
  • 那天,她把我的微信拉黑了,原因是我沒有借給她200塊錢,而且,沒有理由,連消息也沒回復(fù)。 故事發(fā)生在上午,我正在讀...
    陌樂閱讀 5,093評論 4 7

友情鏈接更多精彩內(nèi)容