qinakun实现全局状态管理

目录

qinakun实现全局状态管理

  • qiankun提供了一个全局的 initGlobalState 来共享数据,基座初始化之后,子应用可以监听到这个数据的变化,也能提交这个数据。

基座 src / index.tsx

js 复制代码
import { start, registerMicroApps, initGlobalState } from 'qiankun'

// root.render(XXX)
// qiankun加载子应用 + 启动 。。。

const state = { count: 1 }
const actions = initGlobalState(state);
// 主项目项目监听和修改
actions.onGlobalStateChange((state, prev) => { // state: 变更后的状态; prev 变更前的状态
  console.log('基座onGlobalStateChange',state, prev);
});
actions.setGlobalState(state);

start() // 3. 启动微服务

子应用 src / index.tsx

  • 在子应用挂载的时候 监听主应用的共享数据
js 复制代码
// 应用每次进入都会调用 mount 方法,通常我们在这里触发应用的渲染方法
export async function mount(props: any) {
  console.log('sub-react', props)
  props.onGlobalStateChange((state, prev) => { // state: 变更后的状态; prev 变更前的状态
    console.log(state, prev);
    // 将这个state存储到我们子应用store
  });
  props.setGlobalState({ count: 2 }); // 修改共享数据
  render(props);
}
相关推荐
资讯第一线7 分钟前
《Windows Server 2022》 [2025年10月版 ] [官方IOS] 下载
前端
非凡ghost9 分钟前
EaseUS Fixo(易我视频照片修复)
前端·javascript·后端
非凡ghost10 分钟前
Avast Cleanup安卓版(手机清理优化)
前端·javascript·后端
豆苗学前端11 分钟前
长时间不操作自动退出登录(系统非活跃状态下自动登出机制的企业级设计方案)
前端·后端·面试
一乐小哥14 分钟前
用 AI 搞出 Chrome 版 “飞书 Command+K”!Figma AI 救了我的审美
前端·ai编程
非凡ghost24 分钟前
Atlantis Word Processor(文字处理软件)
前端·javascript·后端
小时前端25 分钟前
面试官:线上应用内存持续泄漏,你如何快速定位并止血?
前端·浏览器
前端白袍27 分钟前
Vue:关于 Vue2 父子组件传值方法 以及 props 的定义方法和使用
前端·javascript·vue.js
非凡ghost31 分钟前
TeamViewer 手机版:一键远程控制,深度管理,提升多设备管理效率
前端·javascript·后端
慧一居士31 分钟前
Vue项目页面间,页面中跳转及刷新规划,何时使用router-view,router-link,iframe,slots ,使用场景,及对应场景的完整使用示例
前端·vue.js