问题描述:
1.一次 flushSchedule 会触发 1k+ 个的渲染 watcher 更新,即走 watcher.run、_update、patch等逻辑,一次 4ms。
2.该组件存在两个 children component,具体涉及到的是 children 的 propsData 的更新。
3.这个整个更新过程耗费了 6s 左右。
个人思考:
1.可能是组件逻辑太过复杂,渲染 watcher 的更新过程变慢,是否得优化组件结构。
2.渲染 watcher 的更新过程太过繁杂,是否针对我的组件重写一个渲染 watcher 的更新过程,化繁为简。
希望有过这方面实践的同学给予一些建议,感谢。
组件数量太多确实非常影响响应速度,一般要结合业务精简组件数量————什么情况需要那么多组件?递归的还是循环的?可以考虑动态渲染。