1
私はポップアップdivを表示するWebページにボタンを表示しようとしています。ポップアップには、それを隠すクローズボタンもあります。 reactjsでこれを行う適切な方法は何ですか?私の考えは、ポップアップがそれを変更している間、ポップアップの可視性をトグルする状態をボタン上に持つことです。子クラスでの状態へのアクセス
var Parent = React.createClass({
getInitialState: function() {
return {visible: false};
},
buttonOnClick: function() {
if(this.state.visible == true)
this.setState({visible: false});
else
this.setState({visible: true});
},
render: function() {
var elem;
if(this.state.visible)
elem = <Popup/>
else
elem = "";
...
{elem}
}
}
var Popup = React.createClass({
closeButtonOnClick: function() {
this.setState({visible: false}); //this.state is null!
}
render: function() {
...
}
});
しかし、私は子クラスから状態にアクセスすることはできませんし、小道具としてそれを渡すと、どちらか(参照しない、値渡し)動作するようには思えません。私はこれをどのようにするべきですか?代わりに、直接、ちょうどsetState({visible: false})
を設定することにより、onClose
<Parent>
ハンドルのよう<Popup>
へのコールバックを渡す親コンポーネント上の状態にアクセスする
は、私の口:) –
外の言葉を取りましたあなたはコールバックを渡します。ありがとう! – dukevin
私は別の質問を持っている:私のDOMは 'ボディ >ポップアップコンテナ >のdiv >> DIV2 >>> DIV3 >>>> DIV4 ' のように見え、私はDIV4からポップアップの可視性を制御したい場合や、他のdivs、私はコールバックをすべての方法で、ポップアップを生成する各要素に渡す必要がありますか? – dukevin