vuex和sessionStorage

本文介绍了如何使用Vuex进行状态管理,并结合SessionStorage存储用户登录信息,包括用户ID、token和详细信息。在用户退出时清除SessionStorage中的数据,并同步更新Vuex状态。同时展示了如何从Vuex和SessionStorage中读取存储的数据,以及在页面刷新后如何从SessionStorage恢复Vuex的状态。
摘要由CSDN通过智能技术生成

1.vuex的存储和ssession的存储

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const store = new Vuex.Store({
  state: {
    user_uid:'',
    user_token: '',
    user:{photo:''},
    
  },
  mutations: {
    SESS_USER(state,user_uid){
      state.user_uid=user_uid;
      sessionStorage.setItem('user_uid', user_uid);
  },
  ADD_TOKEN(state,token){
    state.user_token=token;
    sessionStorage.setItem('user_token', token);
  },
  USER_ADD(state,user){
    state.user=user;
    sessionStorage.setItem('user', JSON.stringify(user));
  },
  PHOTO_ADD(state,photo){
     state.user.photo=photo;
    sessionStorage.setItem('user', JSON.stringify(state.user) );//存在ssession中需要是json类型
  },
  SIGN_OUT (state) {   //退出,删除状态  
    sessionStorage.removeItem("user_uid");
    sessionStorage.removeItem("user_token");  //移除sessionStorage  
    sessionStorage.removeItem("user"); 
    state.user_uid='';                //同步的改变story中的状态  
    state.user_token='';
    state.user={};
},
  },
  //外部访问 this.$store.store.user
  actions: {
    addUser({commit}, user) {
			commit('USER_ADD', {user});
		},
  },
  modules: {
  }
})
export default store

vuex的调用

let  res={
   name:'',
   like:'',
   .......
   user_token:'',
   userInfo:''
}
this.$store.commit('SESS_USER',res.uid);//存对象
this.$store.commit('ADD_TOKEN',res.user_token);//存token
this.$store.commit("USER_ADD",res.userInfo);//存

session取值

JSON.parse(sessionStorage.getItem('user'))//取session值对象
sessionStorage.getItem('user_token')//字符串

vuex取值

this.$store.store.user
this.$store.store.user_token

注:当vuex存储的信息,在页面强刷时会丢失,可以在sessionStorage中拿取

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值