reactjs - 在这种情况下如何单击按钮更改组件
问题描述
你好,我不知道点击左侧按钮时如何更改组件,所以它会将组件渲染到右侧,但只有我想要的那个,不是全部,我知道怎么做单击组件,它会使用 Switch 等将我转移到另一条路线,但情况似乎并非如此。有人可以帮我吗?
我不知道如何在右侧组件更改时将按钮保持在左侧
这是我的代码:
import { Component } from "react";
import UserManagement from "../UserManagement/index";
import RoleManagement from "../RoleManagement/index";
import QuizManagement from "../QuizManagement/index";
class Admin extends Component {
constructor(props) {
super(props);
this.state = {};
}
render() {
return (
<div class="admin-section">
<div class="admin-control col-25">
/- 3 buttons for 3 components I want to render
<button>
<label>User management</label>
</button>
<button>
<label>Role management</label>
</button>
<button>
<label>Quiz management</label>
</button>
</div>
<div class="admin-modify col-75">
/- When I click button the component will display here, I just don't know how to parse it into here but only one, if it like this it'll render all 3 of it.
<UserManagement />
<RoleManagement />
<QuizManagement />
</div>
</div>
);
}
}
export default Admin;
解决方案
一个简单的解决方案是:
第 1 步:添加一个称为management
in的状态this.state = {}
。像
constructor(props) {
super(props);
// you can default this to any of the three
this.state = {management: "user"};
}
onClick
第 2 步:在按钮上添加处理程序,例如
<button onClick={() => {this.setState({management: "user"}) }}>
<label>User management</label>
</button>
<button onClick={() => {this.setState({management: "role"}) }}>
<label>Role management</label>
</button>
<button onClick={() => {this.setState({management: "quiz"}) }}>
<label>Quize management</label>
</button>
第 3 步:根据状态有条件地呈现您的表格。
{this.state.managment === "user" && <UserManagement />}
{this.state.managment === "role" && <RoleManagement />}
{this.state.managment === "quiz" && <QuizManagement />}
第4步:打开:)。
推荐阅读
- angular - 在保存所有按钮单击时从 Angular slick-grid 获取所有已编辑的行
- react-native - 当设备分辨率在本机反应中发生变化时,我的观点就会消失
- google-apps-script - “setOwner”不是函数错误 - 应用脚本
- ruby-on-rails - 仅在嵌套资源中创建记录
- c - 如何将 CSV 文件的内容存储在链接列表中?
- java - 如何在通过 gradle for Android 项目生成 JavaDocs 时忽略/排除嵌套类
- php - 如何在 CodeIgniter 中配置 Paypal
- sql-server - SSIS 包应因参数值无效而失败
- javascript - 我无法使用 GeoSearch 在传单地图中正确搜索位置
- python - 如何从Python中的元组列表中提取第一个元素