react中Component和PureComponent

之前因为用PureComponent用得比较少,以为它跟Component区别应该不大,就没关注,别人问了我一个问题,就仔细看了下,原来还是有区别的:

它们主要的区别就是对于状态更新渲染DOM,判断状态是否变化的条件不同。

Component:setState状态更新都会引起dom渲染

PureComponent:react有个方法优化了shouldComponentUpdate,提高了性能,就是当props或者state改变时,会引起dom重新渲染,这里值的注意的是,当state为数组,对象等引用类型的时候,如果引用没有发生改变,它会认为state是没有发生改变的,也就不会重新渲染。当引用发生变化Component和PureComponent都会引起重新渲染

参考文章:https://www.jianshu.com/p/c41bbbc20e65

猜你喜欢

转载自www.cnblogs.com/mikoBlog/p/10276428.html