setState以后是不是一定重新渲染 无论子组件是否数据发生变化,如果是的话,那diff算法有什么用呢?
渲染的是vdom,对数据变化前后生成的vdom使用diff算法进行比较,找到最小化操作dom的操作
正常情况下是会的。如果使用了PureComponent或者在shouldComponenetUpdate中进行了处理则不会
PureComponent
shouldComponenetUpdate
setState会触发子组件的重新计算vdom,但是不一定会重新更新dom
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
1 回答3.7k 阅读✓ 已解决
3 回答2.7k 阅读
3 回答3k 阅读
1 回答2.5k 阅读✓ 已解决
3 回答20.4k 阅读✓ 已解决
渲染的是vdom,对数据变化前后生成的vdom使用diff算法进行比较,找到最小化操作dom的操作