背景:由于react官方并没有提供缓存组件相关的api(类似vue中的keepalive),在某些场景,会使得页面交互性变的很差,比如在有搜索条件的表格页面,点击某一条数据跳转到详情页面,再返回表格页面,会重新请求数据,搜索条件也将清空,用户得重新输入搜索条件,再次请求数据,大大降低办公效率,如图: 目标:封装keepalive缓存组件,实现组件的缓存,并暴露相关方法,可以手动清除缓存. 版本:React 17,react-router-dom 5 结构: 代码: cache-types.js…