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

最后

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

相关推荐
摘星编程5 小时前
OpenHarmony + RN:Placeholder文本占位
javascript·react native·react.js
a1117765 小时前
医院挂号预约系统(开源 Fastapi+vue2)
前端·vue.js·python·html5·fastapi
0思必得05 小时前
[Web自动化] Selenium处理iframe和frame
前端·爬虫·python·selenium·自动化·web自动化
摘星编程6 小时前
React Native鸿蒙:Loading加载动画效果
react native·react.js·harmonyos
行走的陀螺仪7 小时前
uni-app + Vue3编辑页/新增页面给列表页传参
前端·vue.js·uni-app
摘星编程8 小时前
React Native + OpenHarmony:Spinner旋转加载器
javascript·react native·react.js
We་ct8 小时前
LeetCode 205. 同构字符串:解题思路+代码优化全解析
前端·算法·leetcode·typescript
2301_812731419 小时前
CSS3笔记
前端·笔记·css3
ziblog9 小时前
CSS3白云飘动动画特效
前端·css·css3
越努力越幸运5089 小时前
CSS3学习之网格布局grid
前端·学习·css3