当我使用 onClick 箭头函数时,为什么我的变量未定义?

随机用户

在我的反应组件中,orders[i] 被定义,因为组件是使用名称和数量呈现的,但是,当涉及到 onClick 事件时,orders[i] 在箭头函数的上下文中是未定义的。如何使用 orders[i].name 作为参数调用该函数?

let orders = this.state.orders;
let ordersRender =[];
for (var i=0; i<orders.length; i++) {
  if (orders[i].amount) {
    let newInvoiceItem = <InvoiceItem name={orders[i].name} amount ={orders[i].amount} key={i} handleDelete={() => this.deleteProduct(orders[i].name)}/>;
    ordersRender.push(newInvoiceItem);
  } 
}
普拉松

handleDelete事件被触发时,变量i已将其值更改为orders.length,这就是为什么触发orders[i]时未定义的原因onClick

因此,而不是for-loop使用Array#map迭代订单并返回一个InvoiceItem项目数组由于amount是可选的,我们需要在应用.map函数之前根据数量过滤订单

let { orders } = this.state;
let ordersRender = orders.filter(order => order.amount).map(({name, amount}, index) => {
  return (
    <InvoiceItem name={name} amount ={amount} key={index} handleDelete={() => this.deleteProduct(name)}/>
  );
})
...

希望这会有所帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么当我运行与 onclick 属性相关的函数时我的类属性未定义?

为什么我的变量在我的函数之外未定义?

当我尝试使用猫鼬的“ findByIdAndRemove”方法时,为什么我的EJS变量返回“未定义”

为什么当我在php中广告0 + 0时,我收到未定义的变量?

当我尝试调用我的函数时,为什么会出现“未定义”?

Python:为什么在我调用函数时说未定义变量?

为什么在调用我的函数时未定义它?

为什么当我使用 addEventListener 方法时我的闭包工作,但不使用 onclick HMTL 属性

为什么当我运行`go test`时该函数未定义?

为什么当我给它一个参数时函数返回未定义

为什么在我的复选框内未定义onClick?

为什么我的函数未定义?

当我一开始不使用xrange时,为什么未定义xrange?

为什么当我将值重新分配给函数内的变量时,该变量变为未定义并且出现类型错误?

当我不使用库时,为什么编译器会给我错误“未定义的外部符号”?

当我使用querySelectorAll时,如何定义未定义?

为什么在使用类时我的 var 未定义?

为什么我的自定义PHP函数中出现“未定义的变量”

当我们在视图中访问未定义的实例变量时,Rails为什么不引发异常?

当我调用onClick函数时如何隐藏删除按钮

为什么当我按下按钮时我的 onclick 功能没有激活?

当我使用onclick属性单击元素时如何触发另一个功能

当我从服务中调用函数时,“ this”是未定义的

在 JavaScript 中,为什么这个全局变量在我的函数中未定义?

当我尝试使用递归时函数名称未定义错误

为什么我的导入变量未定义?

为什么我的变量表数据返回未定义?

为什么我得到未定义的变量?

为什么我的Angular作用域变量未定义?