[英文官網](https://reactjs.org/)
[中文官網](https://react.docschina.org/)
[React API](https://react.docschina.org/docs/react-api.html)
## **React描述:**
* 用于構建用戶界面的JavaScript 庫([react.development.js](https://unpkg.com/browse/react@16.11.0/umd/react.development.js)),讓開發者只關注視圖層(view)
* 由Facebook開源
* 聲明式編碼、組件化編碼
* 支持客戶端與服務器渲染
* 虛擬DOM, 不總是直接操作DOM
* DOM Diff算法, 最小化頁面重繪
* JSX 是 JavaScript 語法的擴展。React 開發不一定使用 JSX ,但我們建議使用它
* 單向響應的數據流
* 衍生的 React Native 開發的項目,編譯打包后的原生App可以運行在android和ios系統上
## **名詞解釋:*******
組件:可復用的局部功能界面
組件化:拆分、封裝可復用的局部功能界面
模塊:具有獨立功能的文件(通常指js文件)
模塊化:將程序拆分為多個可復用的功能
聲明式:告訴機器目標,過程不需自己來做(React界面渲染無需自己來做)
命令式:按照流程一步步命令機器來實現目標(Jquery那樣直接操作dom是命令式)
虛擬DOM:將真實DOM映射為輕量的js對象,方便批量、高效更新數據
真實DOM:改動會引發整個頁面重繪,影響效率
服務端渲染(SSR):虛擬DOM不依賴瀏覽器環境,能在node環境實現,可以使用虛擬DOM生成html字符串
JSX:即JavaScript XML,是JavaScript的拓展語法,簡化react.js的js語法,需要babel.js編譯為js才能運行在瀏覽器上