2016-11-08 229 views
1

我已经在我的电流分量以下道具送在.MAP道具()函数

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

究竟不起作用? – Timo

+0

请添加您收到的错误。只要'oPurchaseDetails'实际上是一个数组,map就应该在那里。 – Potter

+0

和哪里使用地图功能的结果? 'const carItems = this.props.oPurchaseDetails.map(...);' – mauron85

回答

2

map接受设置您this背景下,第二个参数:

this.props.oPurchaseDetails.map(function(item) { 
    return (
     <CartItem oProductItem={item} updateCart={this.props.updateCart} /> 
    ); 
}, this); 
3

由于@布赖恩提到,你的背景下发生变化,这就是为什么你不能从映射功能访问this

既然你已经使用ES6功能,您还可以使用数组功能:

this.props.oPurchaseDetails.map(item => 
    <CartItem oProductItem={item} updateCart={this.props.updateCart} /> 
);