微前端子应用如何共享主应用的全局状态?
我在用 qiankun 搭微前端,主应用用的是 Vuex,现在子应用也想读写主应用 store 里的用户信息,但不知道怎么安全地共享。试过把 store 挂到 window 上,但感觉不靠谱,而且 TypeScript 报错。
有没有更规范的做法?比如通过 props 传进去?但子应用是独立部署的,props 又没法动态更新……
目前主应用注册子应用的代码大概是这样:
registerMicroApps([
{
name: 'app1',
entry: '//localhost:8081',
container: '#subapp-viewport',
activeRule: '/app1',
props: { sharedStore: store } // 这样传进去子应用能响应式更新吗?
}
]);
这比挂 window 或 props 传 store 都稳,还能跨应用通信。TS 类型也容易处理。