类别:react / 日期:2023-02-26 / 浏览:265 / 评论:0
⾸先说说为什么要使⽤Virturl DOM,因为操作真实DOM的耗费的性能代价太⾼,所以react内部使⽤js实现了⼀套dom结构,在每次操作在和真实dom之前,使⽤实现好的diffff算法,对虚拟dom进⾏⽐较,递归找出有变化的dom节点,然后对其进⾏更新操作。为了实现虚拟DOM,我们需要把每⼀种节点类型抽象成对象,每⼀种节点类型有⾃⼰的属性,也就是prop,每次进⾏diffff的时候,react会先⽐较该节点类型,假如节点类型不⼀样,那么react会直接删除该节点,然后直接创建新的节点插⼊到其中,假如节点类型⼀样,那么会⽐较prop是否有更新,假如有prop不⼀样,那么react会判定该节点有更新,那么重渲染该节点,然后在对其⼦节点进⾏⽐较,⼀层⼀层往下,直到没有⼦节点。
版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。
发表评论 / 取消回复