reactjs - 在 ReactJS 中创建父“工作区”组件
问题描述
使用 ReactJS,我正在尝试创建一个具有工具栏按钮和导航菜单的通用工作区组件。我的想法是重新使用这个组件来包装我在应用程序中呈现的所有其他动态组件。
目前,我已经创建了一个 Toolbar 和 MenuBar 组件,然后我将它们添加到应用程序中的每个组件中,如下所示:
<Toolbar/>
<MenuBar/>
<Vendors/>
这感觉不对,因为我的目标是只有一个组件,类似于:
<Workspace>
<Vendor/>
</Workspace>
但是,我不确定如何实现这一点以及这是否是正确的方法。
解决方案
至于它是否是正确的方法是主观的,但我可以深入了解一种制作“包装器”类型组件的方法:
// Your workspace wrapper component
class Workspace {
render() {
return (
<div className="workspace">
<div className="workspace__toolbar">
Toolbar goes here
</div>
<div className="workspace__nav">
Navgoes here
</div>
<div className="workspace__content">
{this.props.children}
</div>
</div>
)
}
}
// Using the component to define another one
class MyComponent {
render() {
return (
<Workspace>
This is my workspace content.
</Workspace>
)
}
}
您还可以查看 HOC 或更高阶组件来包装东西。
推荐阅读
- javascript - 锁定和解锁按钮
- sql - Yii2 ActiveRecord 链接/取消链接与多个模型
- javascript - 使用 Promise 确保文件流已经结束
- laravel - BadMethodCallException 调用未定义的方法 App\Product::Category()
- javascript - 从下拉列表中获取选定的值
- python - 如果该行不是 nan,则将前几个角色的值设为该行的值
- graphql - 在 GraphQL 模式中创建类型时是否可以重命名字段?
- python - Scrapy - 通过 CSS 查询提取特定数据不起作用
- python - python文件之间的相互依赖关系
- jmeter - Linux 上的 Jmeter 版本说是最新版本,但似乎不是