Javascript 如何使react处理程序为多个值工作?

Javascript 如何使react处理程序为多个值工作?,javascript,reactjs,material-ui,Javascript,Reactjs,Material Ui,我有一个处理程序,它不是我想要的那样工作。。。我需要能够更改许多项目的“数量”值。现在,使用我的处理程序,如果我尝试使用多个项目,它们将使用最后输入的值进行更新。因此,我必须有一种方法来输入多个值并以不同方式更新项目。。以下是我迄今为止所做的: this.state.purchase.selected.map(项目=>{ 返回( ) }) this.handleSelectedItemChange=this.handleSelectedItemChange.bind(this) handle

我有一个处理程序,它不是我想要的那样工作。。。我需要能够更改许多项目的“数量”值。现在,使用我的处理程序,如果我尝试使用多个项目,它们将使用最后输入的值进行更新。因此,我必须有一种方法来输入多个值并以不同方式更新项目。。以下是我迄今为止所做的:

this.state.purchase.selected.map(项目=>{
返回(
)
})

this.handleSelectedItemChange=this.handleSelectedItemChange.bind(this)
handleSelectedItemChange(事件){
让query=Object.assign({},this.state.purchase);
query.selected.map(项=>{
item.quantity=event.target.value
})
this.setState({purchase:query})

}
如果我理解正确,您需要一种方法来与多个组件共享您的
onChange
函数,并设计一种方法来区分调用方

您只需将
传递到
onChange
,并使用其值确定调用者并执行您想要的任何操作

这可以通过以下方式实现:

this.state.purchase.selected.map(item => {
  return ( 
    <Grid item xs={4}>
      <OrderItemsCard 
        item={item}
        onChange={(event) => this.handleSelectedItemChange(item, event)}
      />
    </Grid>
  );
})

handleSelectedItemChange(item, event) {
    // ...
}
this.state.purchase.selected.map(项目=>{
报税表(
this.handleSelectedItemChange(项,事件)}
/>
);
})
handleSelectedItemChange(项目、事件){
// ...
}

Simular问题在此之前已得到回答。检查:我一直在寻找的答案。顺便问一下,有没有办法防止数值实时变化?因为我也在显示初始值。我不确定“实时更改”是什么意思。也许您正在寻找
节流
去抖动
。通读这篇文章,看看它是否有帮助: