CJY0208 / react-activation

Hack <KeepAlive /> for React
https://www.npmjs.com/package/react-activation
MIT License
1.81k stars 141 forks source link

无法在组件mount时拿到dom节点的大小 #131

Closed VeronicaF closed 3 years ago

VeronicaF commented 3 years ago

https://codesandbox.io/s/umi-keep-alive-tabs-demo-forked-orcmh?file=/src/pages/chart.js

image

image

如示例,会导致一些依赖于dom大小的库出现不可控行为,如echarts、threejs,有没有优雅的解决办法呢?

CJY0208 commented 3 years ago

函数式组件暂无好的方案,建议是封装一个自定义 useMount,在其内部加 setTimeout 延时操作

或者换成 class 组件配合 withActivation 使用

参考文档Breaking Change 由实现原理引发的额外问题

image