1
我试图在显示弹出div的网页上有一个按钮。弹出窗口上还有一个隐藏按钮。在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() {
...
}
});
但是,我不能从子类访问状态,并把它当作道具似乎并没有工作,要么(按值传递,而不是引用)。我应该怎么做?
讲出了我的嘴:) –
的啊我看,你传递一个回调。谢谢! – dukevin
我还有一个问题:如果我的DOM看起来像 '体 >弹出容器 > DIV >> DIV2 >>> DIV3 >>>> DIV4 ' 我想从DIV4控制弹出知名度或其他divs,我是否需要将回调传递到每个将生成弹出窗口的元素? – dukevin