icestark
icestark copied to clipboard
【icestark-module】传入微模块的 props 更新后,模块应当更新
Bug && Feature
What is the current behavior? 当前表现:当宿主传入微模块的 props 更新后,模块内部无法获取到最新的 props 值 (不论是使用注册的本地模块还是UMD模块 ) 使用注册的本地模块的 demo codesandbox
What is the expected behavior? 参考 PR#592,该 PR 中的场景是 props 中任意发生改变都重新卸载组件然后挂载组件,这个场景下子模块的内部 state 都会丢失;我期望的场景是 moduleInfo 中关于模块资源的配置发生变化后(assets,runtime 等)执行组件卸载/挂载操作,在其他 props 更新后,执行 render(moduleInfo.mount 方法),这样可以保持子模块内部的状态。 当前 master 分支上只监听了 props 上的 moduleInfo 变化,并且没有持续将 props 通过 render 的方式传递下去。 https://github.com/ice-lab/icestark/blob/a6981bd305f21a6cd6b8ad4897b870710a8d63a2/packages/icestark-module/src/MicroModule.tsx#L47-L51 render 中也有同样问题 https://github.com/ice-lab/icestark/blob/a6981bd305f21a6cd6b8ad4897b870710a8d63a2/packages/icestark-module/src/MicroModule.tsx#L127-L133
在 props 更新后是应该重新卸载/挂载组件还是 reRender 组件
请问这个问题修复了吗?目前也遇到同样问题