Попытка доступа к состоянию Vuex после его очистки - PullRequest
0 голосов
/ 19 февраля 2020

У меня проблема с очисткой состояния Vuex при выходе из системы и продолжением попыток доступа к состоянию из компонента.

  1. Компонент использует объект из состояния:
    <custom-card
        color="green"
        :name="this.author.name"
        :surname="this.author.surname"
    >
Объект "author" получается с помощью getters из "computed":
    computed: {
        ...mapGetters({
            author: 'author'
        }),
    },
Когда я пытаюсь выйти из системы, находясь на странице с компонентом карты, я перенаправляюсь на страницу входа (как и предполагалось), и в то же время я получаю сообщение об ошибке в консоли:
    vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in render: "TypeError: Cannot read property 'name' of null"
    vue.runtime.esm.js?2b0e:1888 TypeError: Cannot read property 'name' of null

Мне ясно, что при выходе из системы «author» имеет значение null, и именно поэтому возникает ошибка. Но не понятно, почему это происходит. Я подумал, что после нажатия кнопки выхода из системы, vue -рутер должен перенаправить меня на страницу входа, и содержание предыдущей страницы после этого не имеет значения.

Как можно избежать этих ошибок?

Upd. Я думаю, что ответ на этот вопрос можно найти в статье " Rectivity in Depth " по Vuejs документации:

, поскольку Vue не Чтобы не допустить динамического добавления реактивных свойств root -уровня, необходимо инициализировать Vue экземпляров, объявив все свойства реактивных данных root -уровня заранее, даже с пустым значением. Если вы не объявляете сообщение в параметре данных, Vue предупредит вас, что функция рендеринга пытается получить доступ к несуществующему свойству.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...