Состояние vuex не было загружено в nuxtjs mount () после аппаратной перезагрузки - PullRequest
0 голосов
/ 02 ноября 2019

Я создавал свое первое приложение в nuxtjs, но у меня есть некоторые проблемы с состоянием vue. Я интегрировал vuex-persistedstate и js-cookie для сохранения состояния.

Я пытаюсь получить состояние vuex и установить значения во внутреннем состоянии компонента (data () {}).

Notification.vue

computed: {
   ...mapState({
     user: state => state.auth.user
   })
 },
mounted() {
  this.notifications = this.user.notification
}

Это работает нормально, если я захожу на эту страницу с другой страницы.

Но если я перезагружаю страницу уведомления напрямую, this.user (состояние vuex) имеет значение null. если я оберну его в setTimeout(), я получу состояние правильно даже после перезагрузки страницы.

например:

mounted () {
  setTimeout(() => {
    this.notification = this.user.notification
  })

Я считаю, что это асинхронная проблема с vuex &nuxtjs, но я не думаю, что это хорошая идея - обернуть setTimeout во все компоненты mount ().

Есть ли способ решить эту проблему?

Большое спасибо.

...