如何高效地刷新页面的局部

771 阅读1分钟

中后台页面,用户发生新增、修改、删除的动作非常频繁。比如一个详情页,只修改了其中一部分,但后端只提供了 getDetails 这个获取整个详情的接口。此时,前端该如何有效率的去更新操作后的页面呢?

方案一:后端在操作性的接口返回新的状态

新增、修改、删除这类接口,可以在请求成功后的响应主体里面,带上更新后的状态信息。

方案二:前端自己维护状态

很多时候,我们都会发起请求来更新状态。其实,有很多是不必要的。我们完全可以在前端进行修改。下面列举两个例子:

  • 例子一:详情页 A,详情描述被用户修改了,是否要重新请求后端的数据呢,答案是没必要的。前端只要拿到后端的操作成功标志,可以对已有的 object.descript 进行修改, 然后更新到视图。
  • 例子二:列表 A,pageSize 为 10,删除的其中一个项时,删除后是否要重新请求数据呢?答案是不一定的。有时,我们可以在前端对当前的 list 数据进行过滤,去掉删除 的这条,等到当前页面全部被删除时,再去后端请求数据。

这样做的好处是什么?

  1. 因为在前端修改状态后页面几乎是瞬间更新的,可以省去 http 请求的时间,让页面响应更快,体验更友好。
  2. 可以简化接口,同时减轻后端的负担。