React通過redux-persist持久化數(shù)據(jù)存儲

在React項目中,我們經(jīng)常會通過redux以及react-redux來存儲和管理全局數(shù)據(jù)。但是通過redux存儲全局數(shù)據(jù)時,會有這么一個問題,如果用戶刷新了網(wǎng)頁,那么我們通過redux存儲的全局數(shù)據(jù)就會被全部清空,比如登錄信息等。

這個時候,我們就會有全局數(shù)據(jù)持久化存儲的需求。首先我們想到的就是localStorage,localStorage是沒有時間限制的數(shù)據(jù)存儲,我們可以通過它來實現(xiàn)數(shù)據(jù)的持久化存儲。

但是在我們已經(jīng)使用redux來管理和存儲全局數(shù)據(jù)的基礎(chǔ)上,再去使用localStorage來讀寫數(shù)據(jù),這樣不僅是工作量巨大,還容易出錯。那么有沒有結(jié)合redux來達到持久數(shù)據(jù)存儲功能的框架呢?當然,它就是redux-persist。redux-persist會將redux的store中的數(shù)據(jù)緩存到瀏覽器的localStorage中。

1、對于reducer和action的處理不變,只需修改store的生成代碼,修改如下


2、在index.js中,將PersistGate標簽作為網(wǎng)頁內(nèi)容的父標簽


這就完成了通過redux-persist實現(xiàn)React持久化本地數(shù)據(jù)存儲的簡單應(yīng)用

3、最后我們調(diào)試查看瀏覽器中的localStorage緩存數(shù)據(jù)


發(fā)現(xiàn)數(shù)據(jù)已經(jīng)存儲到了localStorage中,此時刷新網(wǎng)頁,redux中的數(shù)據(jù)也不會丟失

鏈接:http://www.itdecent.cn/p/7d6854586562

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容