【基础版】React缓存路由

前言

项目背景

  • React
  • umi
  • react-router5

需求

用户在某一页面操作后点击跳转到其详情页,返回到列表页还是之前操作过的页面,即把页面缓存下来(基础版先处理路由缓存,tab页展示先不处理)

实践

  • 在布局页面对页面进行缓存即可实现

  • 采用Map数据结构对页面进行缓存,性能方面更优,读取删除也方便~

    <Fragment> { Array.from(_routerMap.keys()).map(key=>{ const children = _routerMap.get(key) if(key === location.pathname){ return
    {children}
    } return
    {children}
    }) } </Fragment>

拓展

tab页展示的话,目前没有找到对应读取路由信息(包含路由所有信息)的api,需要自己实现--对路由进行过滤即可~

最后

根据以上的关键代码就可实现路由缓存啦~

相关推荐
架构师老Y1 小时前
003、Python Web框架深度对比:Django vs Flask vs FastAPI
前端·python·django
小陈工4 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
xiaotao1318 小时前
第九章:Vite API 参考手册
前端·vite·前端打包
午安~婉8 小时前
Electron桌面应用聊天(续)
前端·javascript·electron
彧翎Pro9 小时前
基于 RO1 noetic 配置 robosense Helios 32(速腾) & xsense mti 300
前端·jvm
小码哥_常9 小时前
解锁系统设置新姿势:Activity嵌入全解析
前端
之歆9 小时前
前端存储方案对比:Cookie-Session-LocalStorage-IndexedDB
前端
哟哟耶耶9 小时前
vue3-单文件组件css功能(:deep,:slotted,:global,useCssModule,v-bind)
前端·javascript·css
是罐装可乐9 小时前
深入理解“句柄(Handle)“:从浏览器安全到文件系统访问
前端·javascript·安全
华科易迅9 小时前
Vue如何集成封装Axios
前端·javascript·vue.js