我是React和Redux的新手,所以这是一个最佳实践问题。
我有一个动作创建者,它会触发API调用并将响应分发给我的reducer:
export function loadDrawSuccess(draw) {
return { type: ActionTypes.LOAD_DRAW_SUCCESS, draw};
}
export function loadDraw() {
return function(dispatch) {
dispatch(beginAjaxCall());
return drawApi.getDraw().then(draw => {
dispatch(loadDrawSuccess(draw));
}).catch(() => {
dispatch(ajaxCallError());
});
};
}
Run Code Online (Sandbox Code Playgroud)
现在....在我的化简器中,我正在处理响应以从中提取所需的数据.....
function extractNextOpenDraw(draws) {
if (!draws || typeof draws.content === 'undefined'){
return {};
}
let openDraws = draws.content.filter(draw => {return draw.status === 'open';});
let sortedOpenDraws = openDraws.sort((draw1, draw2) => {
return DateHelper.getDateObjectFromUtcDateString(draw1.closeTimeUtc) - DateHelper.getDateObjectFromUtcDateString(draw2.closeTimeUtc);
});
return sortedOpenDraws[0];
}
export default function drawReducer(state = initialState.draw, action) {
switch (action.type) {
case types.LOAD_DRAW_SUCCESS: {
return objectAssign({}, extractNextOpenDraw(action.draw), {dateModified: action.dateModified});
}
........
default:
return state;
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是
| 归档时间: |
|
| 查看次数: |
961 次 |
| 最近记录: |