javascript - 调用mapStateToProps似乎传递了错误的状态对象

标签 javascript error-handling react-redux

我正在开发我的第一个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;
    }
};

这是与connect()一起使用的“mapStateToProps”函数的代码
const mapStateToProps = (s) => {
    return  {
        calculations: s.calculations ||[]
    };
};

当我以LOAD_CALCULATIONS类型调度 Action 时,我可以看到日志跟踪(使用react-logger),但是状态对象对我来说似乎很奇怪。有人可以指出我的错误吗?

log trace using react-logger

最佳答案

工作流程对我来说很好。状态对象看起来也不错,但是在导入reducer来配置商店时,您可能想要更改别名,以使其更加直观。

在您的配置存储文件中:

import calculations from 'reducers/CalculationReducer';

请注意,这要求您将CalculationReducer导出为默认值。然后,您将在状态对象中看到calculations而不是CalculationReducer

而且我注意到您在执行操作时有一个payload,但从未在reducer中处理过。如果在状态对象中需要它,则使用action.payload在reducer中对其进行处理。

关于javascript - 调用mapStateToProps似乎传递了错误的状态对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39938177/

相关文章:

mysql - useSelector 函数不更新分派(dispatch)函数后的状态 - react Hook

javascript - 带模板的 Angular ui bootstrap 弹出窗口

javascript - 在 jquery 选择器中使用变量

javascript - GlobalHotKeys(react-hotkeys)在专注于输入字段时不起作用

reactjs - 使用 React 18 安装 react-redux-firebase 包

sql-server - 如何在UDF标量函数中将表名作为参数传递?

javascript - 不要将悬停效果应用于父级

javascript - 如何使用 amcharts 库和 mySql 将 JSON 格式插入 dataProvider

php - 为什么这个error_handler函数返回NULL?

java - 为什么此Java代码不起作用?