通过阅读Redux教程和Redux的一些新知识。我正在尝试访问Redux Store中的当前状态。我可以在开发工具的Redux State中看到状态对象及其数据,但是当我连接mapStateToProps时,状态返回未定义。
export class VersionDiff extends Component {
render() {
const { diffs } = this.props;
console.log(diffs, 'im the diffs');
return (
<div>
Empty Div
</div>
);
}
}
const mapStateToProps = state => {
return {
diffs: state.diffs,
};
};
export default connect(mapStateToProps)(VersionDiff);
当我认为我可以通过render方法访问this.props上redux存储中的项目时,render方法中的控制台日志返回undefined。这是我下面的减速器。
export default (state = [], action) => {
switch (action.type) {
case 'SET_DIFFS':
return [...state, action.diffs];
default:
return state;
}
};
答案 0 :(得分:0)
我想尝试提供更多的清晰度,以防将来对任何人有帮助。我相信这里发生的事情是因为我在模块底部的connect函数中将模块导出为默认模块,因此我将能够使用标准的导入语法。我相信我正在尝试将我的VersionDiff模块作为命名导入导入,因此如下所示。
import { VersionDiff } from '../components/VersionDiff;
这是行不通的,因为我无法访问我的组件,因为它是默认导出,因此我的道具将无法传递到我的组件中,因为该组件将返回未定义。
我认为这是一个错误,因为我实际上无法在将文件添加到connect函数并尝试从存储中拉出状态之前在文件中找到该组件。
解决方案:
import VersionDiff from '../components/VersionDiff';