CJY0208 / react-activation

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

autoFreeze 模式下,context 失效 #295

Open getatny opened 10 months ago

getatny commented 10 months ago

autoFreeze 在执行过内部 safeSetState({ freeze: true }) 之后,Antd 的 configProvider theme 变化不再被缓存组件内部监听。已经尝试了 autoFixContext,还是不行。

关闭 autoFreeze 或者 Keeper 内部 freeze state 没有变成 true 之前运行正常

CJY0208 commented 10 months ago

和 autoFreeze 相关的话,应该是,比较可能是 react 18 createRoot 不兼容的问题,可以给个示例吗?这个问题目前可能无法修复,只能是关闭 autoFreeze

getatny commented 10 months ago

和 autoFreeze 相关的话,应该是,比较可能是 react 18 createRoot 不兼容的问题,可以给个示例吗?这个问题目前可能无法修复,只能是关闭 autoFreeze

尝试了使用 reactDom.render 去渲染 App,问题确实修复了。我后面可以提供一个 codesandbox 的示例给你看下

CJY0208 commented 10 months ago

不需要提供示例了,这个问题已经记录过,是 react-freeze 和 react18 暂不兼容导致的

getatny commented 2 months ago

Keeper.js 中将 Freeze 组件放到 Bridge 内部 context 的问题就没有了,不确定这样做会不会有什么其他的影响。