私は<ul>
コンポーネントをラップしています。<li>
コンポーネント。私は、それぞれli
にonClick
ハンドラを追加することを避け、代わりにul
で1つのハンドラを使用し、バブリングされたイベントをキャプチャします。リアクションイベントバブリング:ターゲットを探す
バブリングされたイベントからクリックされたコンポーネントを特定/割り当てる正しい方法は何ですか?
class ListItemComponent extends React.Component {
public render() {
return (
<li>Foo</li>
)
}
}
class ListComponent extends React.Component {
private handleClick(event) {
const target = event.target;
// Determine clicked component, or index etc … ?
}
public render() {
const items = this.props.items.map((x, i) => {
<ListItemComponent active=“false” key={i} />
})
return (
<ul onClick={this.handleClick} />
{ items }
</ul>
)
}
}
あなたが反応に周り 'event'を渡すことはできません。 'event.target'をhandleClick関数に直接渡してください。 – jmargolisvt
あなたはどのような解決策を提案しているのかよく分かりません。あなたは例を挙げることができますか?私が与えた例では、私は確かにイベントにアクセスすることができます。 – duncanhall
私はちょうどあなたが本当に対処するのが難しいSyntheticEventを取得する周りのイベントを渡すときに言っている。 – jmargolisvt