Scene:我正在构建一个简单的日历 Web 应用程序,它使用 React 作为前端,使用 MySQL 作为服务器后端。该应用程序在首次安装时从服务器检索所有事件的列表,将它们显示给用户并允许进行 CRUD 操作。一切都按预期进行。
Question:在创建、更新或删除操作中,我应该:
“独立”更新数据库和状态。
更新数据库,再次调用服务器以检索新的事件列表,然后将状态设置为等于此新列表。
完全做点别的事情。
Impetus:我的印象是我的数据应该有一个“单一的事实来源”,感觉上面的第一个选项造成了一种情况,我有两个“来源”,在某些情况下可能会变得不同步。
1. 和 2. 都是正确的,这实际上取决于您想要实现的目标。您可以尝试使用乐观的更新这意味着,当提交这些操作时,您会更改状态,就好像操作成功一样(大多数情况下应该是这种情况),如果操作由于某种原因在数据库/后端失败,则进行更正。这创造了良好的前端体验。在这些情况下,您还可以在操作后获取新数据。
如果数据库上的数据可能会从多个来源发生更改,那么您需要定期并在更改后最有可能获取它,并相应地更新您的前端。
如果您是唯一操纵数据的人(至少需要在该州拥有这些数据),则情况 1. 应该可行。在这种情况下,后端/数据库仍应响应所执行操作的状态,以帮助您管理状态。您还可以在操作挂起时显示某种加载指示器,而不是乐观地更新状态。
您可以在此处阅读有关乐观更新的更多信息:https://medium.com/guidesmiths-dev/anatomy-of-a-react-application-optimistic-updates-e4a3318665c7 https://medium.com/guidesmiths-dev/anatomy-of-a-react-application-optimistic-updates-e4a3318665c7
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)