icestark icon indicating copy to clipboard operation
icestark copied to clipboard

切换React微应用时,微应用没有正确unmount的问题

Open BullseyeBao opened this issue 3 years ago • 1 comments

我们的项目中的子应用为React,由于需要在部分组件的unmount时执行部分逻辑,因此我们需要在切换微应用时,能够在上一个微应用的 ReactDOM.unmountComponentAtNode() 直行完毕后,再切换至新微应用。 但在实际调试过程中,我们发现:

1.主应用在通过路由跳转后,微应用DOM直接从DOM树上消失,没有执行React的销毁逻辑; 2.我们在子应用上注册了unmount事件: export async function unmount(props) { ReactDOM.unmountComponentAtNode(props.container); } 并在该方法打上断点后发现,进入到unmount钩子时,DOM已经被清除,container已经是一个空节点,导致 unmountComponentAtNode 执行失败。

请问是否有什么办法可以解决这个问题?谢谢!

BullseyeBao avatar Jul 14 '22 12:07 BullseyeBao

提供下复现 demo,如果官方 demo 直接可以复现 可以说明下

ClarkXia avatar Jul 18 '22 02:07 ClarkXia