《React:引領未來的用戶界面開發框架》讀後感

 

   前言

 

         其實我們在項目裏面用 React 已經很久了,這次趕在社區的讀書活動再全面瞭解一下 React 的相關的東西,收穫很多,感謝社區舉辦的活動有這麼好的書。

 

 

   正文:

 

        其實,React 到底是什麼?

 

  • Facebook 內部的一個 js 類庫
  • 13年開源
  • 用於創建 Web 用戶交互界面
  • 來自 PHP 框架 XHP(每次有請求進來時渲染整個頁面) 的一個分支

       那 React 到底能做什麼?

 

  • 本質上是一個狀態機,管理複雜的隨着時間變化的狀態
  • 只關心 更新 DOM、響應事件
  • 不處理 Ajax、路由、數據存儲,不規定數據組織的方式

       React 有什麼不一樣的特點?

 

  • 對 DOM 只更新不讀取
  • 高效的算法來計算虛擬頁面當前版本和新版的差異
  • 最小化重繪,避免不必要的DOM操作
  • 在整個應用中只使用單個事件處理器,並且把所有的事件委託到這個處理器上

        試讀章節裏面主要集中在 【第三章的《組件的生命週期》】,這章其實還是很重要的:

 

  • 作爲新手,你必須熟悉在什麼事件裏面可以加入一些方法來控制一些東西

   實例化

 

       每一個新組件被創建、首次渲染

 

  • getDefaultProps

    組件類,這個方法只會被調用一次。返回的對象爲實例設置的默認 props 值。

 

  • getInitialState

    組件的每一個實例,被調用有且只有一次。在這裏可以初始化每一個實例的 state。

 

     與 getDefaultProps 區別:

 

  1. 每次實例創建時該方法都會被調用一次
  2. 可以訪問 this.props
  • componentWillMount

   完成首次渲染之前被調用,render 之前。 

 

  • render

   你會創建一個虛擬 DOM,返回的不是真正的 DOM。必需定義

 

  1. 只能通過 this.props 和 this.state 方法數據
  2. 可以返回 null、 false 或者 React 組件

  3. 只能出現一個頂級組件(不能返回一組元素):就是隻能return 一個父元素包裹

  4. 不能改變組件的狀態

  • componentDidMount

    render 成功調用且真實 DOM 已經渲染後,this.getDOMNode() 方法訪問

 

     【第 10 章的《動畫》】其實自己在項目裏面很少用,所以可能關注不是很多。

 

     下面還是重點說一下 【14 章的 《開發工具》】,這部分其實對於任何新手,接觸一個新的類庫或者語音,都是必須要去關注的,因爲有了好的開發工具,這樣才能利於你快速找到問題,解決問題。

 

  • 構建工具
  1. Browserify    ----- js 打包工具,支持在瀏覽器端使用 Node.js 風格的 require 方法,只支持js
  2. Webpack      ----- 功能更強大:
  • 將CSS 圖片已經其他資源打包到同一個包
  • 打包之前預處理(less,coffee,jsx等)
  • 入口文件的不同把你的包拆分
  • 支持開發環境的特性標誌位
  • 支持模塊代碼熱替換
  • 支持異步加載

       全面地講:它就是 Browserify + gulp | grunt ,默認情況下:啓用了一個 CommonJS 解釋器插件。

 

      很多使用過 React 的人也開始漸漸地用 Webpack 來作爲它的 主力打包工具了。

 

 

  • 調試工具   

    Chrome 瀏覽器擴展裏面安裝 《React Developer Tool》,可以用它來非常方便地調試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章