Context
Я изучаю FaunaDB с помощью React и написал немного кода, используя эту статью в качестве ссылки. Демонстрационное приложение, которое я создаю, - это приложение для опроса / подсчета количества кофе. Пользователю будут показаны типы кофе, и вы нажмете кнопку, чтобы увеличить счетчик. На данный момент есть только две кнопки / варианты кофе.
Проблема
Для одного пользователя приложение работает нормально, но когда я открываю две windows приложения, оно не похоже, не ведет себя должным образом. Ниже показано:
Окно 1
Страница загружается со значениями из фауны (скажем, mocha = 1, long black = 1). Я нажимаю на mocha, и приложение должно получить последние значения от Фауны (на тот случай, если кто-то еще сделал какие-либо обновления), затем увеличивает мокко и публикует обновление для Фауны (теперь mocha = 2, long black = 1). Я подтвердил, что эти значения хранятся в FaunaDB.
Окно 2
Страница загружена со значениями из Fauna (скажем, mocha = 1, long black = 1) - Окно 1 и 2 был загружен в то же время. Теперь в окне 2 я нажимаю длинную черную кнопку. Однако, когда приложение получает значения, оно получает mocha = 1, long black = 1. Затем он увеличивает длинную черную и публикует обновление для фауны (теперь mocha = 1, длинная черная = 2), поэтому сбрасывает то, что пользователь сделал в окне 1. Он должен был получить mocha = 2 вместо mocha = 1.
Я уже давно занимаюсь этой проблемой и буду очень признателен за направление.
Фрагменты кода
Фрагмент из API: https://gist.github.com/ClydeDz/76030075aebbd4673a45bdac13de7979
Фрагмент из сервиса: https://gist.github.com/ClydeDz/eac99e33aa2c2d8da58b26f00e6478e0
Фрагмент из компонента: https://gist.github.com/ClydeDz/bbc26605b039892c62245f02a7b7a631
Возможно ли getAllChoices
' s .then
фактически не запрашивает фауну, а просто возвращает то, что находится в состоянии React? Как мне подтвердить и исправить это?