gpt4 book ai didi

javascript - 如何在reactjs中使用按钮隐藏组件?

转载 作者:行者123 更新时间:2023-12-03 04:11:18 27 4
gpt4 key购买 nike

我已经阅读了有关如何显示/隐藏组件的方法,并对其进行了一些修改,但是我的修改不起作用。 enter link description here

我的不工作代码在这里:

var Child = React.createClass({
render: function() {
return (
<div className="container">
<p>Welcome to our website</p>
<button onClick={this.onClick}>Click me to close</button>
</div>
);
}
});

var ShowHide = React.createClass({
getInitialState: function () {
return { childVisible: ture };
},

render: function() {
return(
<div>
{
this.state.childVisible
? <Child />
: null
}
</div>
)
},

onClick: function() {
this.setState({childVisible: !this.state.childVisible});
}
});

React.render(<ShowHide />, document.getElementById('container'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.2/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.2/react-dom.min.js"></script>

<div id="container">
<!-- This element's contents will be replaced with your component. -->
</div>

我有两个目标:1. 第一个目标是添加一个按钮来关闭此欢迎框。2.第二个目标是添加一个cookie,以便用户在第一次访问该网站时向其显示此欢迎框,并且一旦单击关闭它,如果不清除该欢迎框,则不会再次显示 cookies 。

最佳答案

您必须将 onClick 函数作为 prop 从 ShowHide 传递给 Child

<Child onClick={this.onClick} />

那么您的 Child 中的按钮将如下所示

<button onClick={this.props.onClick}>...</button>

您的initialState 中也有一个小拼写错误,您写的是ture 而不是true

关于javascript - 如何在reactjs中使用按钮隐藏组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44321420/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com