Предположим, у меня есть коллекция книг, полученная с помощью действия Vuex с именем fetchBooks
(это действие совершает мутацию SETBOOKS
для изменения состояния).
Когда я отправляю действие remove
для удалениякнига, у меня есть два варианта:
1) Отправить запрос в API для удаления ресурса, а затем отправить fetchBooks
, чтобы перезагрузить список книг.
2) Отправить запрос в APIудалить ресурс, а затем зафиксировать мутацию REMOVE
, чтобы вывести книгу из состояния, без каких-либо дополнительных HTTP-запросов.
Первый вариант кажется более простым, я могу использовать ту же технику для добавления / обновления / удаления,с ценой выполнения дополнительного запроса для перезагрузки списка.
Второй вариант дешевле (без дополнительного запроса), но требует больше логики для обработки состояния для каждого случая добавления / обновления / удаления.
Как правильно это сделать?