Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未捕获类型错误:无法读取属性';forEach&x27;javascript/React路由器/React中未定义的_Javascript_Reactjs - Fatal编程技术网

未捕获类型错误:无法读取属性';forEach&x27;javascript/React路由器/React中未定义的

未捕获类型错误:无法读取属性';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;

任何人都可以在java脚本中帮助解决这个错误。我使用React路由器显示页面的各种组件。其中一个组件是“forEach”。控制台出现“forEach”属性问题。有什么问题?已将此js文件包含到主html文件中

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,你说得对。我刚检查了控制台。价值观是空的,这就是问题所在。