6

私は私のJSXにこれを持っています:

<Options options={options} onOptionSelect={this.onOptionSelect.bind(this)} />

.bindしかし、コールバック メソッドを子 React コンポーネントに渡す際に、その必要性を否定するという空想を見たことがあると断言できます。

4

2 に答える 2

7

プロパティの初期化と組み合わせてアロー関数を使用できます。

class Component extends React.Component {
  handleClick = () => {
    console.log(this.props);
  }

  render() {
    return <div onClick={this.handleClick} />
  }
}

アロー関数はコンストラクターのスコープで宣言され、アロー関数はthisその宣言スコープから維持されるため、すべて機能します。ここでの欠点は、これらがプロトタイプの関数ではなく、各コンポーネントですべて再作成されることです。ただし、bind結果は同じであるため、これは大きな欠点ではありません。

于 2015-12-02T18:12:57.190 に答える