This time I will show you how to prevent the data from being cleared after the vuex page is refreshed. What are the precautions to prevent the data from being cleared after the vuex page is refreshed? The following is a practical case, let's take a look.
1. Reason
##2. Solution
localStorage has no time limit unless it is removed, session
Storage is a session , the session ends when the browser is closed, has a time limit, and has its own BaiduI use sessionStorage here. What needs to be noted here is that the variable
in vuex is responsive, but sessionStorage is not , when you change the state in vuex, the component will detect the change, but sessionStorage will not. The page must be refreshed to see the change, so the state in vuex should be obtained from sessionStorage, so that the component can be responsive Changes3. Specific implementationThe application background is to save the state after the user logs in, and remove the state after exiting
mutations.jsADD_LOGIN_USER (state,data) { //登入,保存状态 sessionStorage.setItem("username", data); //添加到sessionStorage sessionStorage.setItem("isLogin",true); state.username=data, //同步的改变store中的状态 state.isLogin=true }, SIGN_OUT (state) { //退出,删除状态 sessionStorage.removeItem("username"); //移除sessionStorage sessionStorage.removeItem("isLogin"); state.username='' //同步的改变story中的状态 state.isLogin=false }
isLogin (state) { if (!state.isLogin) { state.isLogin=sessionStorage.getItem('isLogin'); //从sessionStorage中读取状态 state.username=sessionStorage.getItem('username'); } return state.username }
4. Afterword
I stepped on a big pit before. I didn’t notice that vuex can make components change responsively, allowing the components to directly take the value of sessionStorage. I was still confused. You must refresh to see the effect after exiting.
Additional:Let’s look at the difference between vuex storage and local storage (localstorage, sessionstorage)
1. Most Important difference: vuex is stored in memory, while localstorage is stored locally in the form of files2. Application scenarios: vuex is used to transfer values between components, while localstorage is mainly used to transfer values between different pages. value. 3. Permanence: The value stored by vuex will be lost when the page is refreshed, but localstorage will not. Note: Many students think that localstorage can be used instead of vuex. It is indeed possible for immutable data, but when the two components share a data source (object
orarray ), if one of the components changes the data source and wants the other component to respond to the change, localstorage cannot do it. The reason is difference 1. I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!
Recommended reading:Detailed explanation of the steps to implement partial printing of the page in angular
Detailed explanation of the use of common vue components
The above is the detailed content of How to prevent data clearing after vuex page refresh. For more information, please follow other related articles on the PHP Chinese website!