Đối với một giảm nhất định, cây trạng Redux tôi thường trông giống như sau:Làm thế nào để cập nhật trạng thái Redux tiếp tục xuống cây
{
someField: 'some value',
// ... more fields
metadata: {
pending: false,
fetched: true,
}
}
Thông thường, khi tôi làm một yêu cầu async, tôi bắn một hành động SOME_ACTION_REQUEST
, mà đặt thuộc tính metadata.pending
thành true. Nó được đặt lại thành false một lần nữa khi sự kiện phù hợp SOME_ACTION_RESPONSE
hoặc SOME_ACTION_ERROR
sau này.
Tuy nhiên, cách tôi cập nhật trạng thái này là một chút dài dòng:
case actions.SOME_ACTION_REQUEST: {
return {
...state,
metadata: { ...state.metadata, pending: true },
};
}
Có một cách đơn giản hơn để làm điều này?
Object.assign({}, state, { metadata: { pending: true } })
cũng không dễ đọc được.
có thể trùng lặp của [Cleaner/cách ngắn hơn để cập nhật trạng thái lồng nhau trong Redux?] (Http://stackoverflow.com/questions/35592078/cleaner-shorter-way-to-update -nested-state-in-redux) –