【发布时间】:2019-03-05 07:40:42
【问题描述】:
假设我有一个由名为 fetchBooks 的 Vuex 操作检索到的书籍集合(此操作提交 SETBOOKS 突变以更改状态)。
当我发送操作remove 删除一本书时,我有两个选择:
1) 向 API 发送请求以删除资源,然后发送 fetchBooks 以重新加载图书列表。
2) 向 API 发送请求以删除资源,然后提交 REMOVE 突变以从状态中删除图书,而无需任何额外的 HTTP 请求。
第一个似乎更简单,我可以使用相同的技术来添加/更新/删除,但代价是额外请求重新加载列表。
第二个更便宜(没有额外的请求),但需要更多的逻辑来处理每个添加/更新/删除案例的状态。
正确的做法是什么?
【问题讨论】:
-
是的,第二个似乎更便宜,但您必须确保在后端完成更新
-
在您的删除调用中获取资源作为响应。然后重新加载状态。