我在当前组件中有以下道具
static propTypes = {
oPurchaseDetails: PropTypes.array,
updateCart: PropTypes.func.isRequired,
}
现在我想发送给CartItem组件。但它并没有在那里工作。
this.props.oPurchaseDetails.map(function(item) {
return (
<CartItem oProductItem={item} updateCart={this.props.updateCart} />
);
})
如何从.map()函数发送prop函数?
答案 0 :(得分:3)
正如@Brian所提到的,您的上下文已更改,这就是您无法从映射函数访问this
的原因。
由于您已经在使用ES6功能,因此您还可以使用数组功能:
this.props.oPurchaseDetails.map(item =>
<CartItem oProductItem={item} updateCart={this.props.updateCart} />
);
答案 1 :(得分:2)
map
接受设置this
上下文的第二个参数:
this.props.oPurchaseDetails.map(function(item) {
return (
<CartItem oProductItem={item} updateCart={this.props.updateCart} />
);
}, this);