antdFront icon indicating copy to clipboard operation
antdFront copied to clipboard

【BUG】状态保存

Open qiujie8092916 opened this issue 3 years ago • 4 comments

主应用里的页面状态保存没问题 子应用里的页面没有状态保存,会重新加载子应用页面

qiujie8092916 avatar Feb 18 '22 05:02 qiujie8092916

子应用里的页面没有状态保存,会重新加载子应用页面 指的是 微应用的 状态保存? 主应用到子应用的路由指向正确即可,子应用的状态 我觉得是qiankun框架要解决的问题,或者由子应用自己决定保存的方式...

X-neuron avatar Mar 07 '22 03:03 X-neuron

子应用里的页面没有状态保存,会重新加载子应用页面 指的是 微应用的 状态保存? 主应用到子应用的路由指向正确即可,子应用的状态 我觉得是qiankun框架要解决的问题,或者由子应用自己决定保存的方式...

是的,之前琢磨了一阵,和我们项目情况不太契合,最后放弃了 对于我们的项目有几个点

  1. 子应用的沙箱隔离,qiankun依然做的不够干净彻底
  2. 子应用的状态保存,受制于子应用本身,比如如果子应用是vue,那么在子应用上keep-alive,在主应用里多标签页切换,状态保存ok,如果子应用是react,只有一些诸如react-activation的社区方案,对我们来说,对子应用的配置侵入性太大,成本并不划算

之前我一直受限于觉得子应用的状态保存应该可以从主应用里解决,- -,too young too naive... 最后我们还是舍弃qiankun,采用原始的iframe实现的

qiujie8092916 avatar Apr 14 '22 03:04 qiujie8092916

这个场景 可否用下面这个思路解决?: 1、只依赖路由的部分 可能需要做基于url 的应用,状态参数在Url中提取。 2、不依赖路由的 状态同步,基于 rxjs 的监听式数据状态可能可以 解决 主应用和子应用状态一致的问题。这个就需要你们自己做个rxjs的数据底库。内部数据流从这地库中提取约定好的变量...

X-neuron avatar Apr 14 '22 03:04 X-neuron

之前我一直受限于觉得子应用的状态保存应该可以从主应用里解决,- -,too young too naive... 最后我们还是舍弃qiankun,采用原始的iframe实现的

我觉得 微端下选择 recoil 应该是个错误..... 理想数据流的要 保证多端状态 的一致和留存,需要 既能在 原生js 又能在主架中使用的,要保证性能 就需要 基于代理的 监听/响应。主框是react的话。valtio 可能是目前微端 数据流的正道... 但是前端技术发展太快,不是很看好目前微前端技术,微端的出路 未来的方向应该在 wasm runtime ...

X-neuron avatar Dec 24 '22 15:12 X-neuron