【基础版】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,需要自己实现--对路由进行过滤即可~

最后

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

相关推荐
拉不动的猪10 分钟前
回顾计算属性的缓存与监听的触发返回结果
前端·javascript·vue.js
karshey34 分钟前
【IOS webview】h5页面播放视频时,IOS系统显示设置的icon
前端·ios
树欲静而风不止慢一点吧34 分钟前
小米手环9应用/游戏开发快速入门
前端·javascript·小程序
小七不懂前端44 分钟前
我用 NestJS + Vue3 + Prisma + PostgreSQL 打造了一个企业级 sass 多租户平台
前端·vue.js·后端
晚星star1 小时前
2.2 Node的模块实现
前端·node.js
zYear1 小时前
Three.js 入门指南:揭开 3D 网页的魔法面纱
前端
Crystal3281 小时前
图片懒加载
前端·javascript·代码规范
Revol_C1 小时前
开箱即用!轻量级轮询方案,支持同步获取轮询结果!
前端·javascript·设计模式
3824278271 小时前
python:正则表达式
前端·python·正则表达式
用户47949283569151 小时前
我是怎么把模型回复用tts播放的更自然的
前端