我正在尝试遍历redux存储并渲染所有对象。在尝试创建对象数组时,我遇到以下错误
相关的代码段:
class VictoryChartComp extends React.Component{
constructor(props) {
super(props);
//this.ChartsArray = [];
this.ChartsArray = Object.keys(this.props.newcharts).map(function (key) {
if (this.props.newcharts.type == 'victory') {
var item = this.props.newcharts[key];
return item;
}
});
}
整个代码可以在这里找到:https://codesandbox.io/s/xr5wk9v35o
我也试图声明'this.ChartsArray'(注释行),但问题仍然存在。
非常感谢任何帮助。
答案 0 :(得分:0)
我在您的沙盒上对此进行了测试,错误的修复当然是验证this.props.newcharts
不是null
或undefined
。来自VictoryChartComp.js
this.ChartsArray = this.props.newcharts
? Object.keys(this.props.newcharts).map(function(key) {
if (this.props.newcharts.type === "victory") {
var item = this.props.newcharts[key];
return item;
}
})
: [];
如果ChartsArray
为this.props.newCharts
,则null
不会定义undefined
。
即使这解决了控制台错误并允许组件呈现它也是空白的 - 因为newCharts在我的执行中是newCharts
。我不确定这是不是你真正想要的。您可能需要df
。