【发布时间】:2016-09-30 13:03:57
【问题描述】:
对于给定的 reducer,我的 redux 状态树通常如下所示:
{
someField: 'some value',
// ... more fields
metadata: {
pending: false,
fetched: true,
}
}
通常,当我执行异步请求时,我会触发 SOME_ACTION_REQUEST 操作,它将 metadata.pending 属性设置为 true。当匹配的 SOME_ACTION_RESPONSE 或 SOME_ACTION_ERROR 事件稍后出现时,它会再次重置为 false。
不过,我更新状态的方式有点冗长:
case actions.SOME_ACTION_REQUEST: {
return {
...state,
metadata: { ...state.metadata, pending: true },
};
}
有没有更简单的方法?
Object.assign({}, state, { metadata: { pending: true } }) 也不太可读。
【问题讨论】:
标签: javascript ecmascript-6 redux