未捕获类型错误:无法读取属性';forEach&x27;javascript/React路由器/React中未定义的
任何人都可以在java脚本中帮助解决这个错误。我使用React路由器显示页面的各种组件。其中一个组件是“forEach”。控制台出现“forEach”属性问题。有什么问题?已将此js文件包含到主html文件中未捕获类型错误:无法读取属性';forEach&x27;javascript/React路由器/React中未定义的,javascript,reactjs,Javascript,Reactjs,任何人都可以在java脚本中帮助解决这个错误。我使用React路由器显示页面的各种组件。其中一个组件是“forEach”。控制台出现“forEach”属性问题。有什么问题?已将此js文件包含到主html文件中 var ProductTable = React.createClass({ render: function() { var rows = []; var lastCategory = null;
var ProductTable = React.createClass({
render: function() {
var rows = [];
var lastCategory = null;
this.props.products.forEach(function(product) {
if (product.name.indexOf(this.props.filterText) === -1 || (!product.stocked && this.props.inStockOnly)) {
return ;
}
if (product.category !== lastCategory) {
rows.push(React.createElement(ProductCategoryRow, { category: product.category, key: product.category }));
}
rows.push(React.createElement(ProductRow, { product: product, key: product.name }));
lastCategory = product.category;
}.bind(this));
return (
React.createElement("table",null,
React.createElement("thead",null,
React.createElement("tr",null,
React.createElement("th",null,"Name"),
React.createElement("th",null,"Price")
)
),
React.createElement("tbody",null,rows)
)
)
}
});
您可以使用defaultProps来处理此问题,还可以确保父组件以数组形式传递产品
getDefaultProps: function() {
return products: []
}
您可以使用defaultProps来处理此问题,还可以确保父组件以数组形式传递产品
getDefaultProps: function() {
return products: []
}
您不需要使用
createClass
创建ForEach元素吗?检查此项:它告诉您this.props.products
是未定义的
,因此它没有forEach
方法。确保在调用render()
之前已填充它。实际抛出的错误是什么?谢谢@Patrik Evans,你说得对。我刚检查了控制台。值coming为空,这就是问题所在。您不需要使用createClass
创建ForEach元素吗?检查此项:它告诉您this.props.products
是未定义的
,因此它没有forEach
方法。确保在调用render()
之前已填充它。实际抛出的错误是什么?谢谢@Patrik Evans,你说得对。我刚检查了控制台。价值观是空的,这就是问题所在。