在react中,element是最小的构建单元,是一个对象,不是DOM;element可以在代码中使用jsx进行定义,语法为“const element =...”;Element被创建之后是不可以被改变的,如果要改变DOM只能新创建一个Element。
本教程操作环境:Windows10系统、react17.0.1版、Dell G3电脑。
Element
1.Element是react中最小的构建单元,是一个对象不是DOM,创建的代价比较低。
(1)通常我们在代码中使用JSX定义一个Element:
const element = <h1>Hello, world</h1>;(2)使用ReactDOM.render来渲染
ReactDOM.render( element, document.getElementById('root') );2.一旦一个Element被创建之后,是不可被改变的,它就像电影中的帧,如果要改变DOM的显示,只能新创建一个Element。
3.React会比较前后两个Element,只更新需要更新的内容。
扩展知识:
虚拟DOM
1.React并不是直接构建DOM元素的,而是通过创建与DOM结构类似的对象。然后根据这个结构,也就是React DOM来渲染真正的DOM。
2.当有改变的时候,新建对象,然后使之与之前的结构对比,记录下两者的差异,这里可以看下diff算法。
3.然后根据记录的差异更新DOM。
ReactElement
1、虚拟'DOM';
2、本质是一个不可变的对象;
type属性:如果是字符串如'h1',表示一个DOM节点,它的props属性对于DOM节点的属性.若type属性是一个表示组件的
函数或者类时,它表示一个组件;
3、两种类型的ReactElement可以相互嵌套,彼此混合描述DOM树;