javascript - 通过单击按钮更改部分
问题描述
我正在使用 reactstrap 制作一个网站,我有一个包含图表的部分和一个按钮,其功能是用另一个包含更多详细信息的图表替换所述图表。但是我正在努力制作一个具体的代码。
我已经尝试将图表放在一个单独的组件中,并通过在更改部分状态的按钮上使用 handleclick 函数来切换它的内容(使用“onclick”)
我真的对我的代码的清晰度没有信心,所以我尝试在小提琴中以更简单的方式重现我所做的事情
class hello extends React.Component {
render() {
return (
<h2>hello</h2>
);
}
}
class bye extends React.Component {
render() {
return (
<h2>goodbye</h2>
);
}
}
class Toggle extends React.Component {
constructor(props) {
super(props);
this.state = {isToggleOn: true};
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
this.setState(prevState => ({
isToggleOn: !prevState.isToggleOn
}));
}
render() {
return (
<div>
<div>
{this.state.components[hello]}
</div>
<button onClick={this.handleClick}>
switch
{this.setState({components:[<bye />]})}
</button>
</div>
);
}
}
ReactDOM.render(
<Toggle />,
document.getElementById('root')
);
“toggle”组件中的 div 应该在组件“hello”和“bye”之间切换
实际上,应该显示的当前部分(“hello”)将在单击它们下方的按钮时被其他部分(“bye”)替换。
提前致谢。
解决方案
为什么不导入所有部分视图并根据条件有条件地渲染它们
{condition & <View1/>
推荐阅读
- r - 删除后:离群值接近最大值,保留在 R 箱线图中
- c - C [Array] 问题中的堆栈实现-“this”必须是可修改的左值
- php - 如何在flutter中从html中过滤img标签
- json - 使用命令行或使用 shell 脚本将 xml 转换为 json
- google-cloud-platform - 是否可以在下班后销毁所有 GCP 项目组件并在第二天上班前重新创建它们?
- python - 覆盖 Flask-User/Flask-Login 的默认模板
- python - 如何将json内容传递给python子进程或json文件
- javascript - 如何从拉取请求中删除 node_modules?
- python - ImportError:无法从“torchvision.models”导入名称“mobilenet_v2”
- python - MLPRegressor 没有给出准确的结果