VUEX, VUE, APOLLO - компонент не обновляется - PullRequest
0 голосов
/ 24 февраля 2019

Из дочернего компонента я делаю запрос GraphQL и успешно отправляю результат родительскому компоненту.

Вместо того, чтобы сохранять и обновлять массив результатов в моем родительском компоненте, я реорганизовал его в VUEX .

Получив результат, я отправляю событие в свой магазин, используя метод this.$store.dispatch('handle', payload).

Затем запускается мутация, которая успешно обновляетstore:

UPDATE_RESULT(state, result) {
    state.queries[state.search.selectedQuery].results[result.index] = {
        ...result
    }
}

Вернувшись в родительский компонент, я использую помощник mapState({}), чтобы сопоставить массив результатов с вычисляемым свойством.В инструментах разработчика Vue я могу подтвердить, что и обновления магазина, и обновления вычисленных свойств моего компонента успешно выполнены:

computed: {
    ...mapState({
        results: state => state.queries[state.search.selectedQuery].results
    })
},

Однако мой шаблон отказывается обновлять:

<template v-for="(result, index) in results">{{result}}</template>

Я могувидим, что шаблон кажется на один тик позади как вычисляемого свойства, так и магазина.Я пытался использовать наблюдателя, используя геттеры и сеттеры, иметь локальный массив результатов и копировать хранилище в это ... но ничего не работает, кроме setTimeout.

Вытягивание волос !!!

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