无法将多个参数传递给 React 中的 handleChange

Unable to pass multiple arguments to handleChange in React

我正在使用 React 制作清单。这是我的 Parent 组件:

<ul>
{this.props.data.map(item => {
      return(
      <div><Child {...item} onChange={(e) => this.handleChange("Hello", e)}/></div>);
      })}
</ul>

调用 Child 打印列表元素的组件:

<li>
   <input
      type="checkbox"
      value={this.props.value}
      onChange={event => this.props.onChange(this.props.id, this.props.value, event.target.checked)}
   />
      {this.props.value}
   </li>

这里是 handleChange 方法:

handleChange(myString, e) {
    console.log(e.target.id, e.target.value, e.target.checked, myString);
  }

我想将我自己的自定义字符串传递给 handleChange 方法,但我做不到。我看过几篇关于这个主题的帖子,但我需要帮助来纠正我做错的事情。问题似乎是我将 onChange 数据从 Child 组件发送回 Parent 组件的方式。以上是我到目前为止所写的。我收到错误 Cannot read property id of undefined。对于如何解决此问题,我将不胜感激。

您正在调用父组件中 Child 的 props onChange 中这样定义的函数:

(e) => this.handleChange("Hello", e)

input 元素上的 onChange clickhandler 中的 Child 中调用类似这样的调用:

onChange(this.props.id, this.props.value, event.target.checked)

那显然行不通。

Child 中的 input 元素更改为:

<input
      ...
      onChange={this.props.onChange}
   />

只传递事件对象。