如何使用第三方库 react-activation回到在先前的浏览位置上
Admin 2023-04-01 群英技术资讯 1413 次浏览
在移动端中,用户访问了一个列表页,上拉浏览列表页的过程中,随着滚动高度逐渐增加,数据也将采用触底分页加载的形式逐步增加,列表页浏览到某个位置,用户看到了感兴趣的项目,点击查看其详情,进入详情页,从详情页退回列表页时,需要停留在离开列表页时的浏览位置上,react中没有现成得保留组件状态得方法。
但是有第三方库 react-activation 个人感觉这个好用!
提示:以下是本篇文章正文内容,下面案例可供参考
npm i react-activation
1、在根目录引入 AliveScope
import {AliveScope} from 'react-activation' import App from './App'; const root = ReactDOM.createRoot(document.getElementById('root')); root.render( <BrowserRouter> <Provider store={store}> <AliveScope> <App /> </AliveScope> </Provider> </BrowserRouter> );
2、在需要保留状态得组件上使用 KeepAlive 包裹
我要保留cate组件得状态所以使用keepAlive包裹cate组件
import { Navigate } from 'react-router-dom' import {KeepAlive} from 'react-activation' // 懒加载路由需要放到普通路由最下面 import NotFound from '../pages/notFound' import Layout from '../pages/Layout' import Home from '../pages/Layout/Home' import Cate from '../pages/Layout/Cate' import CateItem from '../pages/Layout/CateItem' import ShopCar from '../pages/Layout/ShopCar' import Me from '../pages/Layout/Me' import ItemAll from '../pages/ItemAll' const routerList = [ { path: '/', element: <Navigate to="/home" /> }, { path: '/home', element:<Layout />,children:[ {index:true, element: <Navigate to="index" />}, {path:'index', element: <Home />}, {path:'cate', element: <KeepAlive><Cate /></KeepAlive>}, //这里需要包裹 {path:'cateItem', element: <CateItem />}, {path:'shopcar', element: <ShopCar />}, {path:'Me', element: <Me />}, ] }, { path: '*', element: <NotFound /> } ] export default routerList
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家详细介绍了vue更多筛选项小组件的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本篇文章带大家吃透JavaScript中的程序控制流与函数,希望对大家有所帮助!
当你想到路由时,通常会想到类似react之类的库。但实际上,这些库和框架仍然使用vanillaJavaScript。那么该怎么实现呢?
怎么利用angular Material做统计表格?下面本篇文章给大家介绍一下用angular Material 做统计表格的方法,希望对大家有所帮助!
今天给大家分享的是使用vue写一个web在线聊天的功能,这一需求在做网站在线客服的时候常会遇到,而想要实现实时在线聊天,对于主要的功能点是需要了解清楚的,感兴趣的朋友接下来就跟随小编一起了解看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008