在组件里setState任意值,子组件却会重新渲染

#1

在父组件中setState任意值,子组件为什么会重新渲染呢,体验很差,一闪一闪,目前感觉是遍历子组件都姿势不对,求大神解答

#2

可以在子組件使用shouldcomponentupdate做優化,或者讓子組件繼承PureComponent,還有,你的key不要用隨機數

1 Like
#3

官方文档里面我记得说了的吧,setState会触发子组件的render。但是并不一定会刷新DOM,有变化才会刷新DOM。但是触发没必要的render就会触发虚拟Dom对比运算,也是有消耗的。所以最好redux或者mobx等状态管理库,来管理数据更新。

#4

谢谢你的建议,发现key 用了随机数,每次都渲染