我正在尝试做的事情:
我试图将一个字符串从子组件传递给父组件的 handleChange 函数。
目前有效:
我有一个带有以下方法的父 React JS 类:
handleChange(event) {
console.log(event.target.value);
}
在渲染函数中,我有以下内容:
<Child handleChange={this.handleChange.bind(this)} />
在 Child 类中,我有:
<fieldset onChange={this.props.handleChange}>
<div>Tag 1: <input id="tag1" value={tags[0]} /></div>
<div>Tag 2: <input id="tag2" value={tags[1]} /></div>
<div>Tag 3: <input id="tag3" value={tags[2]} /></div>
</fieldset>
这工作正常。
我想做的是:
我正在尝试向section
handleChange 函数添加一个参数,如下所示:
handleChange(section, event) {
console.log(section);
console.log(event.target.value);
}
在 Child 类中,我有:
<fieldset onChange={this.props.handleChange("tags")}>
<div>Tag 1: <input id="tag1" value={tags[0]} /></div>
<div>Tag 2: <input id="tag2" value={tags[1]} /></div>
<div>Tag 3: <input id="tag3" value={tags[2]} /></div>
</fieldset>
我现在收到错误:
Uncaught TypeError: Cannot read property 'target' of undefined
这个错误是在我的第二个 console.log 语句中抛出的。
我究竟做错了什么?
另外,我正在考虑将section
参数设为可选。如果是这样,是否有一种简单的方法可以做到这一点?如果 event 参数需要放在最后,似乎是不可能的。