安装
yarn add @alitajs/keep-alive
配置
export default {
plugins:['@alitajs/keep-alive'],
keepalive:['/list']
}
使用
import { KeepAliveLayout } from 'umi';
const BasicLayout: React.FC = props => {
return (
<OtherLayout >
<KeepAliveLayout {...props}>{children}</KeepAliveLayout>
</OtherLayout>
);
};
解除缓存
import { dropByCacheKey } from 'umi';
const Page: React.FC = props => {
return (
<div onClick={()=>{
dropByCacheKey('/list');
}}>Click dropByCacheKey
</div>
);
};
动态修改keepalive配置
import { patchKeepAlive } from 'umi';
const Page: React.FC = (props) => {
return (
<div
onClick={() => {
patchKeepAlive((config) => {
config.push('/list');
return config;
});
}}
>
Click patchKeepAlive
</div>
);
};