Javascript 在.map()函数中发送道具

Javascript 在.map()函数中发送道具,javascript,reactjs,Javascript,Reactjs,我在当前组件中有以下道具 static propTypes = { oPurchaseDetails: PropTypes.array, updateCart: PropTypes.func.isRequired, } 现在我想发送到CartItem组件。但它在那里不起作用 this.props.oPurchaseDetails.map(function(item) { return ( <Ca

我在当前组件中有以下道具

static propTypes = {
    oPurchaseDetails: PropTypes.array,
    updateCart: PropTypes.func.isRequired,
  }
现在我想发送到CartItem组件。但它在那里不起作用

          this.props.oPurchaseDetails.map(function(item) {
            return (
               <CartItem oProductItem={item} updateCart={this.props.updateCart} />
             );
          })
this.props.opurCaseDetails.map(函数(项){
返回(
);
})

如何从.map()函数发送prop函数?

map
接受第二个参数,该参数设置您的
上下文:

this.props.oPurchaseDetails.map(function(item) {
    return (
        <CartItem oProductItem={item} updateCart={this.props.updateCart} />
    );
}, this);
this.props.opurCaseDetails.map(函数(项){
返回(
);
},这个);

map
接受第二个参数,该参数设置您的
上下文:

this.props.oPurchaseDetails.map(function(item) {
    return (
        <CartItem oProductItem={item} updateCart={this.props.updateCart} />
    );
}, this);
this.props.opurCaseDetails.map(函数(项){
返回(
);
},这个);

正如@Brian所提到的,您的上下文已更改,这就是为什么您无法从映射函数访问此

由于您已经在使用ES6功能,因此还可以使用阵列函数:

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

正如@Brian所提到的,您的上下文已更改,这就是为什么您无法从映射函数访问此

由于您已经在使用ES6功能,因此还可以使用阵列函数:

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

什么不起作用?请添加您收到的错误。只要opurCaseDetails实际上是一个数组,那么map就应该存在。在哪里使用map函数的结果
const carItems=this.props.opurCaseDetails.map(…)什么不起作用?请添加您得到的错误。只要opurCaseDetails
实际上是一个数组,那么map就应该存在。在哪里使用map函数的结果
const carItems=this.props.opurCaseDetails.map(…)