2017-05-22 29 views
0

へのonClickを適用することはできません。Reactjs - 私が反応クラスコンポーネント内の次のコードを持っている場合、レンダリングコンポーネント

 <svg viewBox="-100 -100 600 500" id='renderName' > 
      <Initial value={this.props.value.substring(0,1)} /> 
     </svg> 

を私はコンテナSVGからonClickイベントを発射することができるように見える、とではありません私がレンダリングしている 'Initial'コンポーネントから。

など。

 <svg viewBox="-100 -100 600 500" id='renderName' onClick={this._onButtonClick} > 

^が、これは可能性があり、なぜ

 <Initial value={this.props.value.substring(0,1)} onClick={this._onButtonClick} /> 

は^

任意のアイデアを動作しない作品?関数を呼び出す代わりに、 'onClick'を小道具として渡すこととは何か?

アップデート:Initialが別のコンポーネント内でレンダリングされています。このコンポーネントには、onClickで呼びたい関数があります。あなたのコード内

+0

'Initial'は何をレンダリングしていますか? – user2340824

+0

初期レンダリングで要素をSVGに入れます – Calibre

答えて

2

Initial は、コンポーネント、およびない要素であるので、あなたはそれをレンダリングすることを実際の要素に、このコンポーネントが取得onClickプロパティを渡す必要があります。

class Initial extends React.Component { 

    render() { 
     return <rect 
        ... 
        ... 
        onClick={this.props.onClick} 
       /> 
    } 
} 
+0

答えをありがとう。 現在、「初期」は機能コンポーネントです。これが機能するには、クラスに基づいている必要がありますか?これは実際にonClickイベントを 'Initial'を参照するコンポーネントに戻しますか? – Calibre

+0

@キャリブレーション、ようこそ。それが正しい場合は、同意して投票してください。ありがとう! – Dekel

+0

私は今夜それを試してみましょう。そのような方法でプロパティを使用して親コンポーネントの関数を呼び出すことは可能ですか? (元の質問に役立つ場合は少し編集を加えた)。 – Calibre

関連する問題