yoj_nc
@yoj_nc
Junior web developer

Nuxt JS. Как сделать store.commit в middleware при рендере сервером?

Помогите JS нубу плз. Пример кода middleware NUXT JS.
Вот такой код (еще не описал полностью, застрял на коммите store). При рендере на клиенте все ок работает, получаю текущего пользователя, но при серверном рендеренге не пашет, хотя промис возвращает без ошибки. Плиз хелп.

import auth from '../utilites/auth'
import env from '../env'
import axios from 'axios'

export default function ({isServer, store, req, redirect}) {
  let token = auth.getToken(isServer, req)
  if (!token) {
    return redirect('/')
  }
  let headers = {
    Accept: 'application/json',
    Authorization: 'Bearer ' + token
  }
  return axios.get(env.API_DOMAIN + '/user/data', { headers })
    .then(({data}) => {
      store.state.user = data
    })
    .catch(() => {
      redirect('/login')
    })
}
  • Вопрос задан
  • 1657 просмотров
Пригласить эксперта
Ответы на вопрос 2
rshaibakov
@rshaibakov
Web-разработчик
У меня сразу возникло 2 вопроса:
1. Почему ты асинхронные действия не перенес в actions?
2. Почему ты state меняешь напрямую, а не через mutations?
Ответ написан
yoj_nc
@yoj_nc Автор вопроса
Junior web developer
в общем все было в порядке, помимо изменения стейта напрямую, да и даже в этому случае код рабочий, я в парсинге куки из реквеста запоролся. Невнимательность - причина множества ошибок =(
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы