vuex存儲和本地存儲(localstorage、sessionstorage)的區別


區別及適用場景

1.區別:vuex存儲在內存,localstorage(本地存儲)則以文件的方式存儲在本地,永久保存;sessionstorage( 會話存儲 ) ,臨時保存。localStorage和sessionStorage只能存儲字符串類型,對於復雜的對象可以使用ECMAScript提供的JSON對象的stringify和parse來處理。

 2.應用場景:vuex用於組件之間的傳值,localstorage則主要用於不同頁面之間的傳值。

3.永久性:當刷新頁面時vuex存儲的值會丟失,localstorage不會。 注:很多同學覺得用localstorage可以代替vuex, 對於不變的數據確實可以,但是當兩個組件共用一個數據源(對象或數組)時,如果其中一個組件改變了該數據源,希望另一個組件響應該變化時,localstorage無法做到響應式,vuex可以綁定數據響應式。

Vuex數據狀態持久化的使用場景

1、購物車
比如你把商品加入購物車后,沒有保存到后台的情況下,前端來存,就可以通過這種方式vuex+localStorage(sessionStorage)。

2、會話狀態
授權登錄后,token就可以用Vuex+localStorage(sessionStorage)來存儲。

3、一些不會經常改變的數據
比如城市列表等(當前也要留下可以更新的入口,比如版本號)

小提示:localStorage.setItem(key, String), set的值必須是字符串,如果你的數據是對象都需要先行轉換(JSON.stringify(xxx)),取出時localStorage.getItem(key),取出后的字符串可以通過JSON.parse(xxx)轉回對象。
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM