umi Ant Design使用 @alitajs/keep-alive实现KeepAlive状态保存

使用@alitajs/keep-alive,需要使用组件包裹 layout 的最内层,原理就是劫持children。

使用教程如下:

1.安装 @alitajs/keep-alive

$ yarn add @alitajs/keep-alive
//或者
$ npm install @alitajs/keep-alive

2、在config.js页,即配置页面

export default {
  plugins:['@alitajs/keep-alive'],
  keepalive:['/about'] //需要KeepAlive保存状态的path路径
}

3、在layout页面

import { KeepAliveLayout } from 'umi';
<Authorized authority={authorized.authority} noMatch={noMatch}>
     <KeepAliveLayout {...props}>{children}</KeepAliveLayout>
</Authorized>

4、解除缓存

import { dropByCacheKey } from 'umi';
const onClick = () => {
	dropByCacheKey('/about');
}
如果您正在使用 Ant Design Pro 框架,可以按照以下步骤集成 `@umijs/plugin-qiankun` 插件: 1. 安装插件 使用以下命令安装插件: ```shell npm install @umijs/plugin-qiankun --save-dev ``` 2. 配置主应用 在 `config/config.ts` 文件中,按照以下示例配置主应用: ```javascript export default { qiankun: { master: { // 主应用启动后默认进入的子应用,通常为第一个注册的子应用 defaultApp: '', // 主应用的生命周期钩子,在这里可以初始化主应用的状态 // 例如:在主应用挂载前,初始化一些全局状态 beforeLoad: () => {}, // 挂载主应用 mount: () => {}, // 卸载主应用 unmount: () => {}, }, // 注册的子应用列表 apps: [ { // 子应用名称 name: '', // 子应用的入口地址 entry: '', // 子应用的路由前缀 base: '', // 子应用启动后需要传递给子应用的参数 props: {}, // 子应用的生命周期钩子,在这里可以初始化子应用的状态 // 例如:在子应用挂载前,初始化一些子应用的状态 beforeLoad: () => {}, // 挂载子应用 mount: () => {}, // 卸载子应用 unmount: () => {}, }, // ... 其他子应用 ], // 是否开启调试模式,调试模式下会输出一些额外的信息 debug: true, }, // ... }; ``` 3. 配置子应用 在 `config/config.ts` 文件中,按照以下示例配置子应用: ```javascript export default { qiankun: { slave: { // 子应用的生命周期钩子,在这里可以初始化子应用的状态 // 例如:在子应用挂载前,初始化一些子应用的状态 beforeLoad: () => {}, // 挂载子应用 mount: () => {}, // 卸载子应用 unmount: () => {}, }, }, // ... }; ``` 4. 打包子应用 在子应用的 `package.json` 文件中,添加以下配置: ```json { "name": "child-app", "version": "1.0.0", "scripts": { "build": "umi build --qiankun", // ... }, // ... } ``` 在子应用根目录下,使用以下命令打包子应用: ```shell npm run build ``` 5. 启动主应用 在主应用的根目录下,使用以下命令启动主应用: ```shell npm run start ``` 6. 查看效果 在浏览器中访问主应用的地址,您应该可以看到您的微前端应用的效果了。 更多使用细节,可以参考 `@umijs/plugin-qiankun` 的官方文档。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值