2016-11-08 136 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} /> 
);