react:一个用于创建可复用,可聚合web组件的js库。只提供了前端mvc框架中的“V”,并不是一个完整的前端mvc框架。
特点:
1、组件化,不需要写一堆HTML模板。
2、JS逻辑与HTML标签紧密相连并且极易理解。
3、单向数据流(数据一旦更新,就直接渲染整个app)。
优点:
1、每个组件是干啥的,很直观。
2、结果更可以预测。
3、组件之间的关系更清晰。
管理UI的状态:
1、修改DOM树
2、修改数据
3、接收用户的输入
4、异步API数据请求
react渲染:
传统方式:
1、浏览器请求页面
2、服务器请求数据库
3、将数据传给模板
4、模板渲染页面
React的渲染方式
1、用户输入
2、从API获取数据
3、将数据传给顶层组件
4、React将每个组件渲染出来
一个React的组件可以理解成一个独立的函数,可以接受参数(props),可复用,可以传递,返回结果(渲染组件)。
javascript虽然快,但是DOM操作慢。
React在每一次更新时:
1、React重建DOM树
2、找到与上个版本的DOM的差异
3、计算出最新的DOM更新操作
4、从操作队列中批量地执行DOM更新操作
JXS:javascript 的XML语法扩展,采用了你所熟悉的和易理解的语法来定义DOM树。
React是如何使用JSX的:
<p class="hello"> Hello {this.props.name} </p> 将编译成React构造器的方法: React.createElement("p",{className:"hello"},"Hello",this.props.name)