setState以后子组件如果属性没有变化也会更新重新渲染嘛?

setState以后是不是一定重新渲染 无论子组件是否数据发生变化,如果是的话,那diff算法有什么用呢?

阅读 2.8k
3 个回答

渲染的是vdom,对数据变化前后生成的vdom使用diff算法进行比较,找到最小化操作dom的操作

正常情况下是会的。
如果使用了PureComponent或者在shouldComponenetUpdate中进行了处理则不会

setState会触发子组件的重新计算vdom,但是不一定会重新更新dom

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题