[英文官网](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才能运行在浏览器上