Я пытаюсь добавить оптимистичные обновления к моей модели Flux. Я удаляю диспетчеризацию действий пользовательского интерфейса и отправку действий сервера в одно действие. Мой код в создателю действий выглядит следующим образом:Оптимистичные обновления с использованием Flux (async)
deleteItem: function(itemId) {
// optimistic update
WebshipDispatcher.handleServerAction({
type: ActionTypes.DELETE_ITEM,
deleteStatus: 'success',
itemId: itemId
});
// now let's actually check if that was the correct result
AppAjaxUtil.get('/deleteItem', {itemId: itemId}, function(result) {
WebshipDispatcher.handleServerAction({
type: ActionTypes.DELETE_ITEM,
deleteStatus: result.status, // 'success' or 'failure'
itemId: itemId
});
}, function(error) {
WebshipDispatcher.handleServerAction({
type: ActionTypes.DELETE_ITEM,
error: error
});
});
}
Является ли это подходящий способ, чтобы обеспечить оптимистические обновления или я думаю об этой части неправильно?
Как правило, это выглядит нормально. Большая недостающая часть кода здесь - это материал, который происходит в магазине (-ах). Трудно сказать, делаете ли вы что-то неправильно, не видя этого кода. Я думаю, что большинство людей создадут отдельные типы действий для различных действий, которые вы совершаете, но не обязательно есть причина для этого - это просто может сделать вещи немного чище в магазине. – fisherwebdev