react如何实现组件状态缓存

其他教程   发布日期:2023年07月05日   浏览次数:425

这篇文章主要介绍“react如何实现组件状态缓存”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“react如何实现组件状态缓存”文章能帮助大家解决问题。

一、安装第三方库

  1. npm i react-activation

二、配置操作

1、在根目录引入 AliveScope

  1. import {AliveScope} from 'react-activation'
  2. import App from './App';
  3. const root = ReactDOM.createRoot(document.getElementById('root'));
  4. root.render(
  5. <BrowserRouter>
  6. <Provider store={store}>
  7. <AliveScope>
  8. <App />
  9. </AliveScope>
  10. </Provider>
  11. </BrowserRouter>
  12. );

2、在需要保留状态得组件上使用 KeepAlive 包裹

我要保留cate组件得状态所以使用keepAlive包裹cate组件

  1. import { Navigate } from 'react-router-dom'
  2. import {KeepAlive} from 'react-activation'
  3. // 懒加载路由需要放到普通路由最下面
  4. import NotFound from '../pages/notFound'
  5. import Layout from '../pages/Layout'
  6. import Home from '../pages/Layout/Home'
  7. import Cate from '../pages/Layout/Cate'
  8. import CateItem from '../pages/Layout/CateItem'
  9. import ShopCar from '../pages/Layout/ShopCar'
  10. import Me from '../pages/Layout/Me'
  11. import ItemAll from '../pages/ItemAll'
  12. const routerList = [
  13. { path: '/', element: <Navigate to="/home" /> },
  14. {
  15. path: '/home', element:<Layout />,children:[
  16. {index:true, element: <Navigate to="index" />},
  17. {path:'index', element: <Home />},
  18. {path:'cate', element: <KeepAlive><Cate /></KeepAlive>}, //这里需要包裹
  19. {path:'cateItem', element: <CateItem />},
  20. {path:'shopcar', element: <ShopCar />},
  21. {path:'Me', element: <Me />},
  22. ]
  23. },
  24. { path: '*', element: <NotFound /> }
  25. ]
  26. export default routerList

以上就是react如何实现组件状态缓存的详细内容,更多关于react如何实现组件状态缓存的资料请关注九品源码其它相关文章!