国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

react實現組件狀態緩存的示例代碼

瀏覽:145日期:2022-06-01 17:55:59
目錄
  • 前言
  • 一、安裝第三方庫
  • 二、配置操作
  • 總結

前言

在移動端中,用戶訪問了一個列表頁,上拉瀏覽列表頁的過程中,隨著滾動高度逐漸增加,數據也將采用觸底分頁加載的形式逐步增加,列表頁瀏覽到某個位置,用戶看到了感興趣的項目,點擊查看其詳情,進入詳情頁,從詳情頁退回列表頁時,需要停留在離開列表頁時的瀏覽位置上,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

總結

到此這篇關于react實現組件狀態緩存的示例代碼的文章就介紹到這了,更多相關react 組件狀態緩存內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: JavaScript
主站蜘蛛池模板: 南陵县| 昭通市| 鄂托克前旗| 灵丘县| 乐山市| 湘乡市| 晴隆县| 禄丰县| 长阳| 麦盖提县| 通州区| 东源县| 遂川县| 康定县| 云和县| 平武县| 莫力| 兰坪| 乌兰察布市| 手游| 耒阳市| 四川省| 聂荣县| 苍梧县| 凭祥市| 桐梓县| 云浮市| 恩平市| 阳东县| 平谷区| 宣威市| 威远县| 香港 | 广西| 汝阳县| 兴化市| 祁东县| 额济纳旗| 改则县| 镶黄旗| 朝阳县|