Flux 모델에 낙관적 업데이트를 추가하려고합니다. UI 액션 디스패치와 서버 액션 디스패치를 하나의 액션으로 끌어 올리고 있습니다. 액션 작성자에 내 코드는 다음과 같습니다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