1、安装

yarn add react-activation react-router-config

2、路由懒加载


import { lazy } from "react";
{
        path: "/page",
        title: "page",
        expect: true,
        component: lazy(() => import("./pages/page.jsx")),  //懒加载写法
  },

3、全局引入,可以在入口文件main处引入,并使用

import { AliveScope } from "react-activation";
ReactDOM.render(
    <AliveScope>
      <App />
    </AliveScope>
  document.getElementById("root")
);

4、使用路由配置的数组进行替换,后面一篇文章就是如何使用react-router-config进行react路由配置,这里只演示关键代码,具体部分根据业务逻辑适配

import KeepAlive from "react-activation";
import { renderRoutes } from "react-router-config"

//核心部分-包裹路由组件
const Component = route.component;
        return {
          ...route,
          component: (props) => (
            <KeepAlive name={route.path}>  //这里的name,我定义的是路由path,方便需要卸载路由的使用直接使用这个path卸载就行
              <Component {...props} />
            </KeepAlive>
          ),
 };

//核心部分-渲染路由
{renderRoutes(routes)}

5、卸载某个页面的缓存

import { useAliveController } from "react-activation";

const { drop, dropScope, clear, getCachingNodes } = useAliveController();


//核心代码
drop(path)   //路由的path,就可以自动卸载路由的缓存,让具体缓存失效

  

注:经过上面的配置,就可以简单迅速的实现懒加载及路由缓存的结合使用了

posted on 2024-07-12 10:22  随心的博客  阅读(293)  评论(0编辑  收藏  举报