我正在开发我的第一个React-Redux应用程序。
这是我的reducer的代码(我只有一个):
const CalculationsReducers = (state = {}, action) => {
switch (action.type) {
case CalculationsActions.LOAD_CALCULATIONS:
return Object.assign({}, state, {
calculations: [{
id: 'abc',
name: 'test',
date: 'test',
status: 'in progress'
}]
});
default:
return state;
}
};
这是我的mapStateToProps'的代码。我用connect()
的函数const mapStateToProps = (s) => {
return {
calculations: s.calculations ||[]
};
};
当我发送一个类型为LOAD_CALCULATIONS的动作时,我可以看到一个日志跟踪(使用react-logger),但状态对象对我来说似乎很奇怪。有人能指出我的错误吗?
答案 0 :(得分:0)
工作流程对我来说很好。状态对象看起来也很好,但您可能希望在导入reducer时更改别名以配置商店,以使其更直观。
在配置存储文件中:
import calculations from 'reducers/CalculationReducer';
请注意,它要求您导出CalculationReducer
作为默认值。然后,您会在状态对象中看到calculations
而不是CalculationReducer
。
我注意到你有一个payload
以及你的动作但从未在减速器中处理过。如果在state对象中需要它,则使用action.payload
在reducer中处理它。