国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

react中使用redux-persist做持久化儲(chǔ)存

這篇具有很好參考價(jià)值的文章主要介紹了react中使用redux-persist做持久化儲(chǔ)存。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

某天下午折騰著玩的 – 筆記

安裝相關(guān)依賴

npm install @reduxjs/toolkit redux-persist redux react-redux
// store.jsx
import { configureStore, getDefaultMiddleware } from "@reduxjs/toolkit";
import { persistStore, persistReducer } from "redux-persist";
import storage from "redux-persist/lib/storage"; // 選擇持久化存儲(chǔ)引擎,如 localStorage 或 AsyncStorage

import rootReducer from "./reducers/index"; // 導(dǎo)入您的根 reducer

// 配置持久化設(shè)置
const persistConfig = {
  key: "root", // 存儲(chǔ)的鍵名
  storage, // 持久化存儲(chǔ)引擎
  // 可選的配置項(xiàng),如白名單、黑名單等 選其一就好了
  // blacklist:['test'], // 只有 test 不會(huì)被緩存
  // whitelist: ["test"], // 只有 test 會(huì)被緩存
};

const persistedReducer = persistReducer(persistConfig, rootReducer);

const store = configureStore({
  reducer: persistedReducer,
  middleware: getDefaultMiddleware({
    serializableCheck: false, // 禁用嚴(yán)格模式
  }),
});

const persistor = persistStore(store);

export { store, persistor };

將 store 提供給應(yīng)用程序:將 Redux store 提供給根組件,以便在整個(gè)應(yīng)用程序中可以訪問(wèn)到 Redux 狀態(tài)

// main.jsx
import React from "react";
import ReactDOM from "react-dom/client";
import { Provider } from "react-redux";
import { PersistGate } from "redux-persist/integration/react";
import { store, persistor } from "./redux/store";
import App from "./App";

ReactDOM.createRoot(document.getElementById("root")).render(
  <React.StrictMode>
    <Provider store={store}>
      <PersistGate loading={null} persistor={persistor}>
        <App />
      </PersistGate>
    </Provider>
  </React.StrictMode>
);

reducer 示例:

// reducers/index.jsx
import { combineReducers } from "redux";
import userReducer from "./user";
import baseReducer from "./base";

const rootReducer = combineReducers({
  user: userReducer,
  base: baseReducer,
});

export default rootReducer;
// reducers/user.jsx
import { createSlice } from "@reduxjs/toolkit";

const initialState = {
  token: "默認(rèn)值token",
  isLogin: false,
};

const user = createSlice({
  name: "user",
  initialState,
  reducers: {
    setToken: (state, action) => {
      // 將傳入的值設(shè)置為 token 的新值
      state.token = action.payload;
    },
  },
});

export const { setToken } = user.actions;
export default user.reducer;

在組件中使用文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-625321.html

// App.jsx
import { useSelector, useDispatch } from "react-redux";
import { setToken } from "./redux/reducers/user";

const App = () => {
  const user = useSelector((state) => state.user);
  // 在頁(yè)面組件中使用 useDispatch 獲取 dispatch 函數(shù),用于派發(fā) action
  const dispatch = useDispatch();
  const setTokenFun = () => {
    dispatch(setToken("一個(gè)新的token"));
  };
  
  return (
    <>
      <p>token====={user.token}</p>
      <Button type="primary" onClick={setAddressFun}>
        Set Token
      </Button>
    </>
  );
};

export default App;

到了這里,關(guān)于react中使用redux-persist做持久化儲(chǔ)存的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【pinia持久化存儲(chǔ)】使用pinia和pinia-plugin-persistedstate依賴進(jìn)行數(shù)據(jù)的持久化存儲(chǔ)

    【pinia持久化存儲(chǔ)】使用pinia和pinia-plugin-persistedstate依賴進(jìn)行數(shù)據(jù)的持久化存儲(chǔ)

    使用pinia和pinia-plugin-persistedstate依賴進(jìn)行數(shù)據(jù)的持久化存儲(chǔ)。 存儲(chǔ)方式 : localStorage sessionStorage pinia-plugin-persistedstate 中文官網(wǎng) pinia 中文官網(wǎng) 安裝和使用 pinia ,請(qǐng)參考使用pinia文章。 安裝 pinia-plugin-persistedstate : 使用前先將 pinia-plugin-persistedstate添加到pinia實(shí)例上。 在添加的時(shí)

    2023年04月17日
    瀏覽(25)
  • ActiveMQ使用JDBC持久化消息

    為了避免服務(wù)器宕機(jī)而導(dǎo)致消息丟失,ActiveMQ提供消息持久化機(jī)制。 ActiveMQ提供多種消息持久化的方式,如LevelDB Store、KahaDB 、AMQ、JDBC等,詳情可以訪問(wèn)官網(wǎng)。 ActiveMQ默認(rèn)是使用KahaDB持久化消息。在/conf/activemq.xml如下配置: KahaDB是一個(gè)文件型數(shù)據(jù)庫(kù),是以日志形式保存到文件

    2024年02月11日
    瀏覽(21)
  • ThingsBoard使用持久化RPC案例場(chǎng)景

    昨天,有個(gè)兄弟找到我,他說(shuō)他遇到問(wèn)題了,場(chǎng)景如下:他有一個(gè)掃描槍A設(shè)備,A設(shè)備上報(bào)數(shù)據(jù)到ThingsBoard,然后需要將數(shù)據(jù)發(fā)送給B設(shè)備,其實(shí)這樣想實(shí)現(xiàn)很簡(jiǎn)單的就是一個(gè)給B設(shè)備下發(fā)RPC即可,但是啊,這個(gè)兄弟說(shuō)B設(shè)備可能會(huì)離線,如何保證B設(shè)備上線后照樣能收到A設(shè)備的消

    2024年02月12日
    瀏覽(39)
  • uniapp中使用vuex并持久化

    目錄 文章目錄 準(zhǔn)備 一、插件實(shí)現(xiàn) 1.安裝插件 ?2.index.js配置: 3.獲取持久化數(shù)據(jù)(比如登錄頁(yè)): 4.使用state(比如個(gè)人主頁(yè)): 二、本地存儲(chǔ)實(shí)現(xiàn) 總結(jié) 根目錄下創(chuàng)建store文件夾,內(nèi)部創(chuàng)建index.js 地址:vuex-persistedstate - npm 代碼如下(示例): 插件的api說(shuō)明: key: 存儲(chǔ)持久

    2024年02月09日
    瀏覽(18)
  • Pinia使用方法及持久化存儲(chǔ)

    Pinia使用方法及持久化存儲(chǔ)

    Pinia 是 Vue 的專屬狀態(tài)管理庫(kù),它允許你跨組件或頁(yè)面共享狀態(tài)。它跟 Vuex 有一定的相似度,但還是有很大的區(qū)別。 愿意看這篇博客的人,想必已經(jīng)看過(guò)了官方文檔,官方文檔很詳細(xì),包含各種使用情景和理論,因此本文不說(shuō)理論,只說(shuō)具體的使用方法,想深入研究的建議去

    2024年02月08日
    瀏覽(20)
  • Redis的簡(jiǎn)單使用 (實(shí)現(xiàn)Session持久化)

    Redis的簡(jiǎn)單使用 (實(shí)現(xiàn)Session持久化)

    ?????? 點(diǎn)進(jìn)來(lái)你就是我的人了 博主主頁(yè): ?????? 戳一戳,歡迎大佬指點(diǎn)! 歡迎志同道合的朋友一起加油喔 ?????? 目錄 一、Redis數(shù)據(jù)類型的使用 1. 字符串(String) 2. 字典類型(哈希 Hashes) 3. 列表(Lists) 4. 集合(Sets) 5. 有序集合(Sorted sets) 二、SpringBoot連接Redis操

    2024年02月11日
    瀏覽(21)
  • 持久化反彈一個(gè)能使用方向鍵的shell

    服務(wù)端 被控端 提升到pty 進(jìn)一步提升可以使用tab,方向鍵,ctrl+c SEGINT等 服務(wù)端 被控端 參考:https://blog.ropnop.com/upgrading-simple-shells-to-fully-interactive-ttys/

    2024年02月15日
    瀏覽(19)
  • SpringBoot日志持久化以及使用lombok輸出日志

    SpringBoot日志持久化以及使用lombok輸出日志

    上一篇文章介紹了日志級(jí)別和自定義輸出日志 鏈接 https://blog.csdn.net/qq_45875349/article/details/132510387?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132510387%22%2C%22source%22%3A%22qq_45875349%22%7D 那么想要將控制臺(tái)上的日志信息,保存在硬盤上,以便出問(wèn)題之后追溯

    2024年02月11日
    瀏覽(21)
  • 【iOS】數(shù)據(jù)持久化(四)之FMDB基本使用

    【iOS】數(shù)據(jù)持久化(四)之FMDB基本使用

    正如我們前面所看到的,原生SQLite API在使用時(shí)還是比較麻煩的,于是,開源社區(qū)就出現(xiàn)了一系列將SQLite API進(jìn)行封裝的庫(kù),其中FMDB的被大多數(shù)人所使用 FMDB和SQLite相比較,SQLite比較原始,操作比較復(fù)雜,使用的是C的函數(shù)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,但是SQLite可控性更強(qiáng),并且能夠 跨平

    2024年01月18日
    瀏覽(40)
  • Unity學(xué)習(xí)筆記--數(shù)據(jù)持久化之PlayerPrefs的使用

    PlayerPrefs是Unity游戲引擎中的一個(gè)類,用于在游戲中存儲(chǔ)和訪問(wèn)玩家的偏好設(shè)置和數(shù)據(jù)。它可以用來(lái)保存玩家的游戲進(jìn)度、設(shè)置選項(xiàng)、最高分?jǐn)?shù)等信息。PlayerPrefs將數(shù)據(jù)存儲(chǔ)在本地文件中,因此可以在游戲重新啟動(dòng)時(shí)保持?jǐn)?shù)據(jù)的持久性。 PlayerPrefs中存儲(chǔ)的數(shù)據(jù)存儲(chǔ)在哪里? PC端

    2024年02月05日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包