2017-12-08 11 views
0

の開閉リアクト私のすべてのアクションとpopinは、私は私はこのようなボタンを持っているJSはPOPINは、私が作成するために、いくつかの問題を持って外をクリックし

をREACT使用

をリンクpopinComponent私はそれをクリックしたときに十字を持っています。私はpopinを閉じなければなりません。そして、私は外側をクリックして検出する必要があります。popin

これを達成するための解決策はありますか?最善の方法は何ですか?

おかげ

+1

可能性のある重複した[外]をクリック検出コンポーネントに反応](https://stackoverflow.com/質問/ 32553158/detect-click-outside-react-component) –

+0

私のpopinが親コンポーネントから開いているので重複しません –

+0

'PopinComponent'コンポーネントのコードを見ることができますか?あなたはonclickoutside hocを使っていますか? –

答えて

0

あなたはそこから十字ボタンの上にonclickのトリガーPopinComponentにし、より小道具「clickevent」を渡すと、その関数内でこの小道具を呼び出すことができます。このような何か:PopinComponentで今

<button className="b-circle" onClick={this.openPopin.bind(this)}> 
     </button> 
     <div className="u-200">Frequence</div> 
     {OpenPopin ? <PopinComponent clickevent={this.closePopin.bind(this)} /> 
      : ''} 


    openPopin() { 
    this.setState({ openFrequency: true }) 
    } 

    closePopin(){ 
    this.setState({openFrequency: false}) 
    } 

あなたがのonClickでthis.props.clickeventを渡すことができます - の

<button onClick={this.props.clickevent}>Close</button> 
+1

助けていただきありがとうございます、それは仕事です、そして今、私はpopinを閉じるために2番目の方法を持っています –

+0

素晴らしい!しかし、私の答えが役に立つと思ったら、その矢印ボタンをクリックしてください。ありがとう。 – Shivani

関連する問題