react作用:替代DOM,用于敏捷开发,快速搭建前端web项目
React可以
轻松创建交互式用户界面
。为应用程序中的每个状态设计简单的视图。当数据更改时React将高效地更新和正确的渲染组件
声明式视图可以使代码更具可预测性,更易于调试
创建好拥有各自state的组件,再将其组合构成更复杂的UI界面。
由于组件逻辑是用 JavaScript 而不是模板编写的,因此可以通过应用程序轻松传递丰富的数据,并将 state(状态) 保留在DOM之外。
非字符串,也非HTML。可以理解为JS的拓展
- 在React中可以通过JSX来创建React元素,JSX需要被翻译成JS代码才能被React来执行
- 在React中若要使用JSX,必须引入babel来完成“翻译”
JSX就是React.createElement()的语法糖
在JSX执行之前都会被Babel转换为JS
注意
- class需要使用className代替
- style中必须使用对象设置
style={{ background:‘red’}}
在React中我们操作的元素被称为React元素,并不是真的原生DOM元素
React通过虚拟DOM将React元素和原生DOM进行映射,虽然操作的是React元素,但是这些操作最终都会在真实的DOM元素中进行体现
虚拟DOM的优点:
虚拟dom核心:diff算法