reactjs - 无法放置在可重用函数中
问题描述
我正在尝试创建一个选项卡组件并且一直被难住了。
以下示例按预期工作:
export default function ListOfTabs() {
return(
<Tabs>
<Tab eventKey="home" title="Home">
This be an example
</Tab>
</Tabs>
)
}
但是,当我将组件放入这样的可重用函数时:
function ReusableTabLink() {
return(
<Tab eventKey="home" title="Home">
This be an example
</Tab>
)
}
并这样称呼它:
export default function ListOfTabs() {
return(
<Tabs>
<ReusableTabLink />
</Tabs>
)
}
我没有看到任何显示。
解决方案
看起来Bootstrap中的实现Tabs
对其使用有非常具体的期望。:)
基本上,它期望直接孩子拥有它正在寻找的道具,如果没有,它将无法工作。我整理了一个示例,其中我将道具直接传递给您的自定义组件并显示选项卡。
我猜如果你想这样做,你需要在react-bootstrap
. 您可能可以将其包装在您自己的Tabs
组件中,这可能会更有意义。:D
这是他们文档中的一个示例:
<Tab.Container id="left-tabs-example" defaultActiveKey="first">
<Row>
<Col sm={3}>
<Nav variant="pills" className="flex-column">
<Nav.Item>
<Nav.Link eventKey="first">Tab 1</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="second">Tab 2</Nav.Link>
</Nav.Item>
</Nav>
</Col>
<Col sm={9}>
<Tab.Content>
<Tab.Pane eventKey="first">
<Sonnet />
</Tab.Pane>
<Tab.Pane eventKey="second">
<Sonnet />
</Tab.Pane>
</Tab.Content>
</Col>
</Row>
</Tab.Container>
推荐阅读
- sql - SQL 语句抛出“dpiStmt_execute: ORA-01821: 日期格式无法识别”
- javascript - @include Laravel Blade 模板以使用 Javascript 追加
- django - 在 Django 中使用 ForeignKey 从另一个模型中多对一访问一个模型
- sql-server - 带有 Azure Key Vault 的 SQL Server“CREATE CERTIFICATE”语句
- .net-core - 我可以将我的 xamarin ui 测试项目从 .net framework 4.7.2 转换为 .net core 3.0 吗?
- javascript - D3时间刻度tickFormat不根据范围排序
- pdf-generation - 使用来自联系表的数据填写 PDF
- laravel - Livewire 魔术动作不起作用 Uncaught ReferenceError: $event is not defined
- django - 我可以将 dash 应用程序的输入和输出数据保存在 Django 数据库中吗?
- c# - 使用 AutoMapper 进行映射时,是否有一种有效的方法来仅保留子集合的单个元素?