@sibidor
Оцифровка бизнеса

Записываю в Nuxt.js в store в Middleware а на странице store пустой. Что не так?

Действую согласно документации https://nuxtjs.org/docs/directory-structure/middleware
в middleware беру store из context и записываю через мутацию данные.
Код middleware:
require("axios").get( urlOauth )
      .then ( respone => {
        console.log( respone.data );
        if ( respone ) {
          // Если все ок, то записываем токен в store и LS(?)
          store.commit ( 'setBx24', respone.data )
        }
      })

В index store читаю state, все успешно записалось
export const mutations = {
    setBx24 ( state, payload ) {
        state.bx24 = payload
        console.log( state );
    }
}


Но когда на странице я обращаюсь к store.state он показывает что в state нет данных которые я записал.

Что я делаю не так?
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ответы на вопрос 1
@sibidor Автор вопроса
Оцифровка бизнеса
В общем две проблемы:
1 Не работает коммит которые "под" axios. Предполагаю что из-за того что там асинхронность и по факту код "бегает" дальше и уходит на клиента, а данные в store еще не записаны. Т.к. если поставить мутацию до axios то в store пишется и попадает на клиента. Но как тогда можно реализовать получение данных в middlware чтобы полученные данные передать на клиента?
2 Экспериментируя сделал массив log в store в который каждый раз при вызове middleware дописывал (методом push) что происходит. И заметил что каждый новый вызов middleware затирает store. Я думал что store существует во время всей "жизни" приложения.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы