React 是一个用于构建用户界面的 JavaScript 库。
react特点
- 用虚拟DOM
React通过this.setState去改变状态触发state,然后根据新的数据重新渲染出新的DOM虚拟树,通过diff算法更新节点。 - 可以使用服务端渲染
可以采用服务器端渲染 - 单向数据流
单向数据流:数据从父节点传到子节点(通过props),父节点props改变,所有子节点全部渲染。
react的三个原则
- 单一数据来源
- 状态只读
- 只能通过村函数改变状态。
react优点
提高了应用性能,方便再客户端和服务端使用,可读性好
受控组件和非受控组件:受控组件没有维持自己的状态,数据由父组件控制,通过props获取,通过回调通知修改。
react的key重要性:
用于识别唯一的虚拟dom元素和驱动ui的相应数据,可以通过回收当前的dom来帮助react优化重新排序而不是重新渲染,提高性能。
函数组件和类组件的区别:
函数组件性能高,因为使用的时候不需要实例化,但是没有this,而没有生命周期,没有state