23、Vuex、localStorage、sessionStorage、cookies的區(qū)別

1. sessionStorage?

sessionStorage 方法針對(duì)一個(gè) session 進(jìn)行數(shù)據(jù)存儲(chǔ)。當(dāng)用戶(hù)關(guān)閉瀏覽器窗口后,數(shù)據(jù)會(huì)被刪除。

用法:?

儲(chǔ)存:sessionStorage.setItem("變量名", "變量值");

獲?。?sessionStorage.getItem("變量名");

2. localStorage?

localStorage?方法存儲(chǔ)的數(shù)據(jù)長(zhǎng)期存在瀏覽器中,必須手動(dòng)清除

用法:?

儲(chǔ)存:localStorage.setItem("變量名", "變量值");

獲?。簂ocalStorage.getItem("變量名");

3. vuex

Vuex 是一個(gè)專(zhuān)為?Vue.js?應(yīng)用程序開(kāi)發(fā)的狀態(tài)管理模式+庫(kù)。它采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測(cè)的方式發(fā)生變化。

用法:https://vuex.vuejs.org/zh/

4. 總結(jié)

1.區(qū)別:vuex存儲(chǔ)在內(nèi)存,localstorage(本地存儲(chǔ))則以文件的方式存儲(chǔ)在本地,永久保存;sessionstorage( 會(huì)話(huà)存儲(chǔ) )?,臨時(shí)保存。localStorage和sessionStorage只能存儲(chǔ)字符串類(lèi)型,對(duì)于復(fù)雜的對(duì)象可以使用ECMAScript提供的JSON對(duì)象的stringify和parse來(lái)處理

2.應(yīng)用場(chǎng)景:vuex用于組件之間的傳值,localstorage,sessionstorage則主要用于不同頁(yè)面之間的傳值。

3.永久性:當(dāng)刷新頁(yè)面(這里的刷新頁(yè)面指的是 -->?F5刷新,屬于清除內(nèi)存了)時(shí)vuex存儲(chǔ)的值會(huì)丟失,sessionstorage頁(yè)面關(guān)閉后就清除掉了,localstorage不會(huì)。

注:很多同學(xué)覺(jué)得用localstorage可以代替vuex, 對(duì)于不變的數(shù)據(jù)確實(shí)可以,但是當(dāng)兩個(gè)組件共用一個(gè)數(shù)據(jù)源(對(duì)象或數(shù)組)時(shí),如果其中一個(gè)組件改變了該數(shù)據(jù)源,希望另一個(gè)組件響應(yīng)該變化時(shí),localstorage,sessionstorage無(wú)法做到,原因就是區(qū)別1。

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

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

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