react-幾步搞定redux-persist-持久化存儲(chǔ)

1.前言

其實(shí)在vuex-persist持久化,用的也是這個(gè)東西
這個(gè)東西 就是持久化,其實(shí)所謂的持久化,在前端而言,一般都是指存儲(chǔ)到 localStorage里面,因?yàn)樗⑿乱策€在嘛,不像存在其他地方刷新就沒了,這里不討論存儲(chǔ)到本地文件
我們?cè)?code>react再玩一遍,看看有啥不同,找點(diǎn)新鮮感


2. 環(huán)境配置

安裝 默認(rèn)就是生產(chǎn)安裝

npm i redux-persist

3. 存儲(chǔ)

持久化這個(gè)一般都是我們的數(shù)據(jù),更具體來說,就是我們狀態(tài)管理的數(shù)據(jù)狀態(tài)進(jìn)行持久化.所以,這里直接在store里面進(jìn)行配置,當(dāng)然你在入口index或者其他地方配置未嘗不可


簡(jiǎn)要步驟

  1. 引入相關(guān)文件
// 持久化存儲(chǔ) state
import { persistStore, persistReducer } from 'redux-persist'
import storage from 'redux-persist/lib/storage'

2.相關(guān)配置 準(zhǔn)備
例如黑白名單

const persistConfig = {
    key: 'root',
    storage,
  }

3.持久化根reducer
reducer 當(dāng)然根據(jù)你自己的名字來改

// 持久化根reducers
const persistedReducer = persistReducer(persistConfig, allReducers)

4.創(chuàng)建 持久化store對(duì)象

let store = createStore(persistedReducer )

5.持久化store對(duì)象

//最外層要導(dǎo)入
let persistor = persistStore(store);

6.導(dǎo)出 注意導(dǎo)出方式

export default store
export {persistor};

7.查看效果 localStorage已經(jīng)有了


1.png

8.額外配置:例如黑名單,白名單等

const persistConfig = {
    key: 'root',
    storage,
    // 黑名單 不緩存的
    blacklist:['page404']
  }

4. 附上完整代碼

// 存儲(chǔ)器:用來管理狀態(tài)(獲取狀態(tài) 肝断、修改狀態(tài))
import { createStore } from 'redux'
// 引入合并函數(shù)
import { combineReducers } from 'redux'
import reducer404 from '../pages/404/store/reducer404'
import reducerAd from '../pages/address/store/reducerAd'
// 1. 引入相關(guān)文件
import { persistStore, persistReducer } from 'redux-persist'
import storage from 'redux-persist/lib/storage'
// 2.  配置
const persistConfig = {
    key: 'root',
    storage,
//黑名單 不緩存
    blacklist: ["page404"]
}
let allReducers = combineReducers({
    // 通過page404 找404 模塊的reducer
       page404: reducer404,
       pageAddress:reducerAd
   })
// 3. 持久化根reducer和配置,并返回所有
const persistedReducer = persistReducer(persistConfig, allReducers)
// 4. 創(chuàng)建 持久化store對(duì)象
let store = createStore(persistedReducer)
// 5. 持久化store對(duì)象
let persistor = persistStore(store)
console.log("獲取持久化存儲(chǔ)信息:",persistor.getState())

// 6. 導(dǎo)出 注意導(dǎo)出方式
export default store
export { persistor }
// 7. 查看效果 localStorage已經(jīng)有了

// 8. 額外配置 不想緩存某個(gè)模塊 黑名單
// blacklist: ["page404"]


5. 持久化 到本地

1.默認(rèn)會(huì)從 loaclStorage讀取
2.可以避免多次請(qǐng)求

// redux存儲(chǔ)器 react-redux 管理狀態(tài)存儲(chǔ)的容器
import store ,{persistor}from './store'
//注入器 負(fù)責(zé)把我們的 store 注入到全局 ,這樣哪個(gè)組件都能用
import { Provider } from 'react-redux'
import { PersistGate } from 'redux-persist/integration/react'
ReactDOM.render(
  <React.StrictMode>
     <Provider store={store}>
      <PersistGate loading={null} persistor={persistor}>
        <App />
      </PersistGate>
    </Provider>
  </React.StrictMode>,
  document.getElementById('root')
);

參考資料

redux-persist


初心

我所有的文章都只是基于入門,初步的了解;是自己的知識(shí)體系梳理;
如果能幫助到有緣人,非常的榮幸,一切為了部落的崛起;
共勉
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市贪嫂,隨后出現(xiàn)的幾起案子匿醒,更是在濱河造成了極大的恐慌净捅,老刑警劉巖圈浇,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卜壕,死亡現(xiàn)場(chǎng)離奇詭異您旁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)轴捎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門鹤盒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人侦副,你說我怎么就攤上這事侦锯。” “怎么了秦驯?”我有些...
    開封第一講書人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵尺碰,是天一觀的道長。 經(jīng)常有香客問我译隘,道長亲桥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任固耘,我火速辦了婚禮两曼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘玻驻。我一直安慰自己悼凑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開白布璧瞬。 她就那樣靜靜地躺著户辫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嗤锉。 梳的紋絲不亂的頭發(fā)上渔欢,一...
    開封第一講書人閱讀 49,185評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音瘟忱,去河邊找鬼奥额。 笑死,一個(gè)胖子當(dāng)著我的面吹牛访诱,可吹牛的內(nèi)容都是我干的垫挨。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼触菜,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼九榔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤哲泊,失蹤者是張志新(化名)和其女友劉穎剩蟀,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體切威,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡育特,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了先朦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缰冤。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖烙无,靈堂內(nèi)的尸體忽然破棺而出锋谐,到底是詐尸還是另有隱情遍尺,我是刑警寧澤截酷,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站乾戏,受9級(jí)特大地震影響迂苛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鼓择,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一三幻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧呐能,春花似錦念搬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至偎漫,卻和暖如春爷恳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背象踊。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來泰國打工温亲, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人杯矩。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓栈虚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親史隆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子节芥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容