Я полностью застрял в проблеме Apollo, для которой я открыл проблему GitHub и получил нулевой ответ.
Я вызываю мутацию Apollo, используя optimisticResponse
. То, как оно должно работать, как я понимаю, заключается в том, что update()
вызывается дважды: сначала с оптимистичными данными, а затем с фактическими данными, поступающими из сети.
Но по какой-то причине мой код не работает так. Я получаю два вызова update()
, как с оптимистичными данными.
Здесь репо, демонстрирующее это поведение: https://github.com/ffxsam/apollo-update-bug
- пряжа && пряжа dev
- Открыть в браузере, открыть консоль
- Введите текст и нажмите Enter.
- Повторите выше
- Обратите внимание на ошибку в консоли о дублирующих ключах. Это происходит потому, что временный идентификатор "??" не заменяется реальным UUID (необязательно). Вы можете открыть Vue DevTools, если они доступны, и проверить данные, чтобы увидеть их неверными