javascript Web前端在经过一些复杂的操作后,将数据从服务器上拉回来显示,这是不正确的吗?[关闭]

waxmsbnn  于 2023-06-04  发布在  Java
关注(0)|答案(1)|浏览(359)

已关闭,此问题为opinion-based。目前不接受答复。
**想改善这个问题吗?**更新问题,以便editing this post可以用事实和引用来回答。

昨天关门了。
Improve this question
我在想,如果Web前端只是删除1条记录或编辑它,前端代码可以只向服务器发送API请求,当它是一个成功的代码返回时,那么前端可以假设它是正确的,只是显示数据,而不是从后端拉取数据。
但是,如果是有些复杂的操作,比如:对于记录id 3,68,36274,...,65678,总共25条记录,将记录的父项目从ABC 001更改为XYZ 987(类似于批量编辑),我觉得让后端执行操作更安全,然后让前端再次从服务器拉取数据并在前端“刷新”它以显示结果。
然而,我们可以说复杂的操作与简单的操作没有什么不同:我们不必在屏幕上提取数据并刷新;我们可以假设前端和后端都在做完全相同且正确的事情。然而,我确实看到一些网站从后端拉取数据并在前端刷新它。刷新真的不对吗?

l7wslrjt

l7wslrjt1#

看情况了。
纯粹从前端删除数组中的单个示例是一种非常常见的做法,然而,就更新状态而言,这更像是一个复杂性问题。当你执行一个操作,比如从数组中删除一个记录,根据数组的大小和变化的重要性,有时从API中重新获取数据会更容易。
如果您有一个巨大的嵌套表,其中有200-300行,每行都有由20个字段组成的嵌套对象,那么从API获取数据可能会更容易,而不是在前端执行复杂的查找操作。如果您使用的是Redux或Zustand等状态管理解决方案,这将比在父组件中更新状态然后进行prop-drilling要容易得多。
但是如果你正在处理相对简单的数据,或者不是很多,那么调用API,等待200* 响应并从前端删除项目是完全可以接受的。在这两种情况下,都不要在Delete函数中返回完整的数组数据,要么发送回DELETED状态代码,要么发送回刚刚删除的对象。如果确实需要最新数据,请执行全新的提取操作。这可以使您的删除操作快速,并使您的前端数据保持最新。
如果要删除的数据在多个用户之间共享,则最好重新获取它,而不是仅从前端删除它。这将有助于减少不一致性

相关问题