原理
在类组件和函数组件中,render函数的形式是不同的。 在类组件中render函数指的是render方法后面的代码
lass Foo extends React.Component{undefined
render() {
return <h1> Foo </h1>;
}
}
函数组件中指的是全部代码
function Foo() { //函数组件中
return <h1> Foo </h1>;
}
render函数会把jsx语法转换成我们熟悉的js语法
在render
过程中,React
将新调用的 render
函数返回的树与旧版本的树进行比较,这一步是决定如何更新 DOM
的必要步骤,然后进行 diff
比较,更新 DOM
树
触发时机
一般触发时机分为两种情况:一种是类组件通过setStart修改状态,还有一种是函数组件通过useStart修改状态
然后这两种方法的使用就不过多介绍了
函数组件通过useState
这种形式更新数据,当数组的值不发生改变了,就不会触发render
总结
render函数里面可以编写JSX,转化成createElement这种形式,用于生成虚拟DOM,最终转化成真实DOM