import React, { Component } from 'react';
import ProductItem from '../components/ProductItem/ProductItem';
class ProductList extends Component {
constructor(props) {
super(props)
this.renderProductItems =this.renderProductItems.bind(this);
this.handleClick = this.handleClick.bind(this);
}
handleClick(product){
this.props.handleAddToCart(product)
}
renderProductItems(product){
return (
<div className="col-md-6" key={product.id}>
<ProductItem>
product={product}
handleClick={this.handleClick}
</ProductItem>
</div>
);
}
render() {
return (
<div>
{this.props.product.map(this.props.renderProductItems)}
</div>
)
}
}
export default ProductList;
答案 0 :(得分:3)
我猜您正在尝试映射数组并将数据传递给方法,您可以使用此方法
./config no-shared no-idea no-mdc2 no-rc5 no-comp enable-tlsext no-ssl2
make depend
Manually replace every occurrence of `gcc`to `afl-gcc` in Makefile
make && make install
答案 1 :(得分:1)
您在地图函数调用中使用了this.props.renderProductItems
,这就是问题所在。
该函数不作为道具传递,而是在类内部定义。您应该使用this.renderProductItems
访问它。
答案 2 :(得分:0)
据我所知renderProductItems
不是来自父组件的道具。
所以就像Rahul所说的那样,第一个明显的问题是,您使用this.props.renderProductItems
而不是this.renderProductItems
的方式就是正确使用this.handleClick
的方式。
好运