vue3将token放在store中
时间: 2023-10-27 11:04:37 浏览: 110
将 token 放在 Vuex store 中的好处是可以在应用中的任何组件中方便地访问和使用。你可以在 store 中创建一个模块来处理用户身份验证相关的逻辑,然后将 token 存储在该模块中的状态中。例如:
```javascript
// auth 模块
const state = {
token: null
}
const mutations = {
setToken(state, token) {
state.token = token
}
}
const actions = {
login({ commit }, { username, password }) {
// 发送登录请求并获取 token
const token = 'xxxxx'
commit('setToken', token)
},
logout({ commit }) {
// 清除 token
commit('setToken', null)
}
}
export default {
namespaced: true,
state,
mutations,
actions
}
```
然后,在你的组件中,你可以使用 Vuex 的 mapState 辅助函数将 token 映射到组件的计算属性中:
```javascript
import { mapState } from 'vuex'
export default {
computed: {
...mapState('auth', ['token'])
}
}
```
这样,你就可以在组件中使用 `this.token` 来访问 token 了。同时,你也可以使用 Vuex 的辅助函数如 `mapActions` 来调用 `auth` 模块中的 action。
阅读全文