私は家に帰るためのリンクを持っており、そこには配列からアイテムを削除するボタンがあります。リンクがホーム画面にリダイレクトするのを防ぎ、配列から項目を削除するには、ev.preventDefault()
を使用する必要があります。矢印を使用せずにイベントを使用して反応する - onclick機能
render
メソッドの矢印機能を使用せずにev
を反応メソッドに渡すことはできますか?私の研究と具体的にはthe answer hereから、以下のことがそうする唯一の方法であるようです。
私は、矢印機能が毎回再レンダリングを引き起こすことに懸念しています。新しい機能が各レンダリングで作成されるためです。
removeItem(label, e) {
e.preventDefault();
this.props.removeItem(label.id);
}
render() {
const { label } = this.props;
return (
<Link to'/'>
<span>Go Home</span>
<span onClick={(e) => this.removeItem(label, e) }> Click me <span>
</Link>
);
}
ラベルパラメータを削除して、 'this.props'の' label'を直接取得することができます。それでは、 'onClick = {this.removeItem} 'を –
にすることはできますが、すべてのレンダリングで新しい関数を作成するのはおそらくすべて高価ではありません:) –
良い点ですが、' e.preventDefault '? –