Делаю авторизацию при обращении к api я получаю токен из записываю его в $store.state.token
Нужно записать этот токен в и Cookie и при загрузке страницы брать значение токена из Cookie или если его нет установить в null.
В общем объекте state я определяю переменную равную token: Cookies.get('accessToken') || null
Вызов Cookies.get('accessToken') в данном случае выдаем undifined
Выше определения константы store я обратился к Cookie и записал в переменную globalToken которую вывел в потом в консоли, там все нормально и консоль выдает токен, но когда я присваиваю эту переменную в store.state.token = globalToken , то она опять undefined
Как мне решить эту проблему?
import Vue from 'vue'
import Vuex from 'vuex'
import Cookies from 'js-cookie';
Vue.use(Vuex)
let globalToken = Cookies.get('accessToken')
console.log('globalToken', globalToken)
const store = () => new Vuex.Store({
state: {
token: Cookies.get('accessToken') || null,
},
mutations: {
retriveToken(state, token){
state.token = token
},
},
actions: {
retriveToken(context, credentials){
this.$axios.post('/login', {
username: credentials.username,
password: credentials.password
})
.then(function (response) {
const token = response.data.access_token;
Cookies.set('accessToken', token)
context.commit('retriveToken', token)
})
}
},
})
export default store