我想使用 redux-actions 来简化我的 react-redux 代码,但我有一个问题:
假设我有“加载”操作,它从远程获取一些主题。所以代码是:
const load = createActions('LOAD');
export function fetch() {
return (dispatch, getState) => {
dispatch(fetchTopicsRequest()); // <- here is my question.
return network
.request('/topics?' + qs.stringify(getState().topics.filter.options))
.then(network.handleResponse)
.then(result => dispatch(load(result))) // <- here I got the topics in the payload
.catch(error => dispatch(load(error))); // <- here I got the errors in the payload, in the reducer I check on the "error" field to see if the request successed.
};
}
我认为通过一个操作发送结果和错误是件好事。但是如何用相同的动作表达“请求”状态呢?由于上面的代码我没有弄明白,所以我不得不做另一个动作“fetchTopicsRequest()”,这使得整个代码看起来很奇怪。
从早期的讨论中我注意到曾经有一个“状态”字段,在这种情况下它可能会很方便。它去哪儿了?还是我错过了一些更好的主意?
谢谢