token 持久化及其封装

token 数据具有一定的时效时间,通常在几个小时,有效时间内无需重新获取。而基于 Redux 的存储方式又是基于内存的,刷新就会丢失。因此需要将 token 持久化处理。

// 封装存取方法

const TOKENKEY = 'token_key'

function setToken (token) {
  return localStorage.setItem(TOKENKEY, token)
}

function getToken () {
  return localStorage.getItem(TOKENKEY)
}

function clearToken () {
  return localStorage.removeItem(TOKENKEY)
}

export {
  setToken,
  getToken,
  clearToken
}
import { getToken, setToken } from '@/utils'
const userStore = createSlice({
  name: 'user',
  // 数据
  initialState: {
    token: getToken() || ''
  },
  // 同步修改方法
  reducers: {
    setUserInfo (state, action) {
      state.token = action.payload
      // 存入本地
      setToken(state.token)
    }
  }
})

你可能感兴趣的:(React,Vue,前端,javascript,开发语言)