Vuex 的主要作用是用來 共享和管理數據,那為什么不直接使用瀏覽器緩存呢?Vuex和瀏覽器緩存策略的根本區別是什么?Vuex state 倉庫中的數據流是單向同步的,那為什么可以在action 中進行異步操作? 比如在action 中發起請求,請求成功后再發起commit?請求各位大神解析?。?
2 回答

拉莫斯之舞
TA貢獻1820條經驗 獲得超10個贊
首先,要區別 vuex
和 瀏覽器緩存 的區別。
vuex
的設計是將數據存在一個對象樹
的變量中,我們的應用(vue應用)從這個變量中取數據,然后供應用使用,當將當前頁面關閉,vuex
中的變量會隨著消失,重新打開頁面的時候,需要重新生成。
而,瀏覽器緩存(cookie,localstorage等)是將數據存到瀏覽器的某個地方,關閉頁面,不會自動清空這些數據,當再次打開這個頁面時,還是能取到之前存在瀏覽器上的數據(cookie,localstorage等)。
要使用vuex
還是使用瀏覽器緩存,要看具體的業務場景。比如:像用戶校驗的token
就可以存在cookie
中,因為用戶再次登錄的時候能用到。而像用戶的權限數據
,這些是有一定安全性考慮,且不同用戶的權限不同,放在vuex
中更合理,用戶退出時,自動銷毀。
其次,vuex
中的 state
是單向的,也可以異步操作,這兩個沒有沖突。
vuex
中的state
的設計思路是保證數據的一致性和連續性,而讓state
中的值只能通過action
來發起commit
,進而改變state
中的值。
而,action
中是同步
還是異步
,都是單向
地改變state
中的值。
- 2 回答
- 0 關注
- 1556 瀏覽
添加回答
舉報
0/150
提交
取消