Обновление кеша мутаций не работает с vue-apollo и Hasura

В javascript this всегда ссылается на объект владельца функции. Например, если вы определяете свою функцию foo() на странице, тогда владелец - это объект javascript windows; или если вы определяете foo() на элементе html <body>, то владелец является телом элемента html; а также если вы определяете функцию onclick элемента <a>, то владелец является якорем.

В вашем случае вы назначаете свойство bar объекту «владелец» в начале и пытаясь вернуть локальную переменную bar.

Поскольку вы никогда не определяли какой-либо локальный varialbe bar, он дает вам, поскольку bar не определен.

В идеале ваш код должен быть определен переменная как var bar;, если вы хотите вернуть нулевое значение.

0
задан Esoemah 11 March 2019 в 14:22
поделиться

1 ответ

Ладно, поэтому для любого такого глупого, как я, вот в основном то, что я делал неправильно:

  • Вместо addPlayer в update: (store, { data: { addPlayer } }), это должно быть любое имя мутации. Таким образом, в этом случае insert_players.
  • По умолчанию ответ мутации от Хасуры имеет поле returning, которое является списком, и поэтому добавленный игрок является первым элементом в списке, поэтому вы можете получить его следующим образом: const addedPlayer = insert_players.returning[0];
  • [ 119]

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

0
ответ дан Esoemah 11 March 2019 в 14:22
поделиться
Другие вопросы по тегам:

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