语境
我正在使用 React 学习 FaunaDB,并使用本文作为参考编写了一些代码。我正在构建的演示应用程序是一个咖啡投票/计数器应用程序 - 将向用户显示咖啡类型,然后单击按钮来增加计数器。目前,只有两个按钮/咖啡选项。
问题
对于单个用户,该应用程序运行良好,但是当我打开该应用程序的两个窗口时,它似乎无法正常运行。下面列出:
窗口 1
页面加载来自 Fauna 的值(假设 mocha=1,long black=1)。我点击 mocha,应用程序应该从 Fauna 获取最新值(以防其他人进行任何更新),然后增加 mocha 并将更新发布到 Fauna(现在 mocha=2,long black=1)。我已经确认这些值存储在 FaunaDB 中。
窗口 2
页面已加载来自 Fauna 的值(假设 mocha=1,long black=1) - 同时加载了窗口 1 和 2。现在,在 Window 2 中,我单击黑色长按钮。但是,当应用程序获取值时,它会得到 mocha=1,long black=1。然后它增加 long black 并将更新发布到 Fauna(现在,mocha=1,long black=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
实际上并没有查询 Fauna 而只是返回 React 的状态?我如何确认和解决这个问题?