【问题标题】:Approach for Vuex to update state - after - CRUD operationsVuex 在 CRUD 操作之后更新状态的方法
【发布时间】:2019-03-05 07:40:42
【问题描述】:

假设我有一个由名为 fetchBooks 的 Vuex 操作检索到的书籍集合(此操作提交 SETBOOKS 突变以更改状态)。

当我发送操作remove 删除一本书时,我有两个选择:

1) 向 API 发送请求以删除资源,然后发送 fetchBooks 以重新加载图书列表。

2) 向 API 发送请求以删除资源,然后提交 REMOVE 突变以从状态中删除图书,而无需任何额外的 HTTP 请求。

第一个似乎更简单,我可以使用相同的技术来添加/更新/删除,但代价是额外请求重新加载列表。

第二个更便宜(没有额外的请求),但需要更多的逻辑来处理每个添加/更新/删除案例的状态。

正确的做法是什么?

【问题讨论】:

  • 是的,第二个似乎更便宜,但您必须确保在后端完成更新
  • 在您的删除调用中获取资源作为响应。然后重新加载状态。

标签: vue.js vuex


【解决方案1】:

我会选择选项 2。 在一般实践中,“getBooks”可能是一个巨大的数组,当您已经在本地拥有数据时,最好不要从数据库中重新查询数据。

只需确保您在 try catch 块中删除图书,因此如果删除没有进入后端,您应该提醒用户。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-30
    • 2023-03-16
    • 2021-06-19
    • 1970-01-01
    • 2017-04-20
    • 1970-01-01
    • 2017-05-20
    • 2020-04-21
    相关资源
    最近更新 更多