Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【BUG】状态保存 #23

Open
qiujie8092916 opened this issue Feb 18, 2022 · 4 comments
Open

【BUG】状态保存 #23

qiujie8092916 opened this issue Feb 18, 2022 · 4 comments

Comments

@qiujie8092916
Copy link
Contributor

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

@X-neuron
Copy link
Owner

X-neuron commented Mar 7, 2022

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

@qiujie8092916
Copy link
Contributor Author

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

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

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

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

@X-neuron
Copy link
Owner

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

@X-neuron
Copy link
Owner

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants