假设我有一个名为fetchBooks
的Vuex动作(该动作将SETBOOKS
突变以更改状态)检索到的书籍集合。
当我发送动作remove
来删除一本书时,我有两个选择:
1)向API发送请求以删除资源,然后分派fetchBooks
重新加载图书清单。
2)向API发送请求以删除资源,然后进行REMOVE
更改以将该书从状态中删除,而无需任何其他HTTP请求。
第一个似乎更容易,我可以使用相同的技术进行添加/更新/删除,但要付出额外的请求来重新加载清单。
第二个更便宜(没有额外的请求),但是需要更多的逻辑来处理每个添加/更新/删除案例的状态。
正确的方法是什么?
答案 0 :(得分:1)
我会选择选项2。 在一般情况下,“ getBooks”可能是一个巨大的数组,最好不要在本地已有数据库时从数据库中重新查询数据。
请确保您要在尝试捕获块中删除这本书,因此,如果删除没有在后端进行,您应该提醒用户。