【发布时间】:2020-05-09 12:20:57
【问题描述】:
我想知道如何在组件之间显示/隐藏,
单击下拉选项Show Data,应隐藏图像并显示文本。
我有一个Home 组件,其中正在使用Option 组件,点击Show Data,
应该显示文字Welcome!!!并隐藏图片,react中怎么做
import Option from "./Option";
class Home extends React.PureComponent {
constructor(props) {
super(props);
}
render() {
return(
<Option/>
<img src="abc.jpg" width="100%"/>
// after option `show data` selected, hide image and show below data
<div>Welcome!!!</div>
)
}
}
class Option extends React.PureComponent{
constructor(props) {
super(props);
this.state = {
isOpen: false
};
}
toggleOpen = () => this.setState({ isOpen: !this.state.isOpen });
render(){
const menuClass = `dropdown-menu${this.state.isOpen ? " show" : ""}`;
return(
<button className="btn btn-secondary dropdown-toggle" id="dropdownMenuButton" aria-haspopup="true" type="button" data-toggle="dropdown"> Dropdown</button>
<div className={menuClass} aria-labelledby="dropdownMenuButton">
<a className="dropdown-item">
Show Data
</a>
</div>
)
}
}
export default Option;
【问题讨论】:
-
需要将状态提升到
Home。关注reactjs.org/docs/lifting-state-up.html了解更多信息。
标签: javascript reactjs object redux react-redux