pro-components icon indicating copy to clipboard operation
pro-components copied to clipboard

🐛[BUG] keepalive场景下,切换路由所有已加载路由页面里的ProTable会重新渲染一次,影响页面性能

Open EchOneJY opened this issue 2 years ago • 3 comments

🐛 bug 描述

keepalive场景下,由于现在ProTable和ProLayout引用的是同一个ProConfigProvider,切换路由时ProLayout重新render,导致ProTable对Provider重新渲染的判断(源码对应isNullProvide)失效,从而使已加载路由页面里所有的ProTable重新渲染一次,影响页面性能。 在老版本ProTable和ProLayout引用不同ProConfigProvider则不会出现该问题。

© 版本信息

  • ProComponents 版本:2.6.43
  • umi 版本:4.0.89
  • 浏览器环境:Chrome

EchOneJY avatar Jan 08 '24 06:01 EchOneJY

同样的问题

qhm1 avatar Oct 29 '24 06:10 qhm1

一个解决方案,可以给没有在页面上显示的页面加上 freeze 优化性能,可以参考 react-activation 内部实现

qhm1 avatar Oct 29 '24 12:10 qhm1

Image

也遇到了,切换路由时,数量多了就有点卡顿了,所有使用了ProTable的页面都会重新渲染ProTable

AmorDiamond avatar Aug 07 '25 06:08 AmorDiamond