2017-01-31 14 views
1

私はes6クラス構文で構築されたコンポーネントを持っています。これは、多様でスタイリングがあるシンプルなコンポーネントです。次に、親コンポーネント(appと呼ばれます)で、そのコンポーネントをレンダリングし、親のonclickハンドラを呼び出すonClickを与えたいと思います。これまでのところ、親はそうのような子供をレンダリング:ReactコンポーネントがonClickハンドラを呼び出さない

<child_component onClick={this.clickhandler}> 

そして私は、私はコンストラクタで親のコンテキストにバインドされていること、親コンポーネントのメソッドを持っています。

コンポーネントはレンダリングされますが、コンポーネントをクリックするとクリックハンドラは呼び出されません。どんな考え?

+0

あなたは[この答え]をチェックアウトしている(http://stackoverflow.com/questions/22469968/ attach-click-handlers-to-custom-child-components)を使用していますか? –

+0

[カスタムの子コンポーネントにクリックハンドラを追加することはできますか](http://stackoverflow.com/questions/22469968/can-we-attach-click-handlers-to-custom-child-components) –

答えて

4

child componetはネイティブDOM要素ではなく、別のReactコンポーネントであるため、ここで定義されているonClickは単にそのコンポーネントのプロパティです。何をする必要がある子コンポーネントの内部でDOM要素のonClickイベントにonClickのプロップを渡し、次のとおりです。

var ChildComponet= React.createClass({ 
render: function() { 
return (
    <div className="childcomponent" onClick={this.props.onClick}> 
    ... 
    </div> 
); 
} 
}); 
+0

素晴らしいです!私はそれがそれのようなものでなければならないことを知っていた! – Silvertail

関連する問題