Reactで作成した<Button />
コンポーネントがあります。このコンポーネントは、アプリケーションのスタイリングの一部を抽象化しています。私は2つの異なる状況でそれを使用しています.1つはログインフォームを送信し、もう1つは登録ページ(および将来的には他のコンテキスト)に移動します。Reactの子コンポーネントにイベントハンドラを渡す方法
イベントハンドラを親コンポーネントから<Button />
に渡す方法を理解しようとしています。私は、ログインフォームのonSubmit
ハンドラを呼び出すが、ナビゲーションボタンのハンドラはonClick
としたい。これは可能ですか?私もちょうどコンポーネントがロードされたときに実行する機能を引き起こし矢印機能を、削除しようとした
<Button text={callToAction} style={styles.callToActionButton} onClick={() => FlowRouter.go("Auth")}/>
<Button text="Go!" style={styles.registerButton} onSubmit={() => this.register(this.state.user, this.state.password)}/>
:
は、私はこのようなコンポーネントを呼び出して試してみました
// executes event handlers on page load
<Button text={callToAction} style={styles.callToActionButton} onClick={FlowRouter.go("Auth")}/>
<Button text="Go!" style={styles.registerButton} onSubmit={this.register(this.state.user, this.state.password)}/>
'{this.register}'その登録メソッドでユーザーの状態を取得するだけです(パラメータとして渡す必要はありません) – Icepickle
これを拡張できますか?私は他のコンポーネントのいずれかでonClickイベントハンドラを動作させる運がない。 – bgmaster
良いfinalfreqは既に良い例を与えてくれました。より詳細な情報を得るには、親コンポーネントがどのように実装されているかを見ておくと便利です。彼のケースでは、イベントハンドラを子コンポーネントの小道具として渡し、子コンポーネントが親コントロールの関数を呼び出します。 – Icepickle