icestark
icestark copied to clipboard
切换React微应用时,微应用没有正确unmount的问题
我们的项目中的子应用为React,由于需要在部分组件的unmount时执行部分逻辑,因此我们需要在切换微应用时,能够在上一个微应用的 ReactDOM.unmountComponentAtNode() 直行完毕后,再切换至新微应用。 但在实际调试过程中,我们发现:
1.主应用在通过路由跳转后,微应用DOM直接从DOM树上消失,没有执行React的销毁逻辑; 2.我们在子应用上注册了unmount事件: export async function unmount(props) { ReactDOM.unmountComponentAtNode(props.container); } 并在该方法打上断点后发现,进入到unmount钩子时,DOM已经被清除,container已经是一个空节点,导致 unmountComponentAtNode 执行失败。
请问是否有什么办法可以解决这个问题?谢谢!
提供下复现 demo,如果官方 demo 直接可以复现 可以说明下