pro-components
pro-components copied to clipboard
🐛[BUG] keepalive场景下,切换路由所有已加载路由页面里的ProTable会重新渲染一次,影响页面性能
🐛 bug 描述
keepalive场景下,由于现在ProTable和ProLayout引用的是同一个ProConfigProvider,切换路由时ProLayout重新render,导致ProTable对Provider重新渲染的判断(源码对应isNullProvide)失效,从而使已加载路由页面里所有的ProTable重新渲染一次,影响页面性能。 在老版本ProTable和ProLayout引用不同ProConfigProvider则不会出现该问题。
© 版本信息
- ProComponents 版本:2.6.43
- umi 版本:4.0.89
- 浏览器环境:Chrome
同样的问题
一个解决方案,可以给没有在页面上显示的页面加上 freeze 优化性能,可以参考 react-activation 内部实现
也遇到了,切换路由时,数量多了就有点卡顿了,所有使用了ProTable的页面都会重新渲染ProTable