javascript - 有条件地渲染兄弟组件
问题描述
我有一个包含多个组件的页面组件。如果在关联的数据数组中找到两个或多个对象,我只想渲染 SecondaryNavigation 组件。我的结构如下:
<main>
<MainNavigation>
<Hero>
<SecondaryNavigation>
other stuff...
<main>
我尝试创建一个函数来检查数据并返回组件,如下所示:
renderSecondaryNavigation() {
return <div>Hecka Hopeful</div>;
}
并将其添加到返回对象:
<main>
<MainNavigation>
<Hero>
{this.renderSecondaryNavigation}
other stuff...
<main>
在我跳入逻辑之前,我运行了代码以查看它是否会呈现,我最终得到“警告:函数作为 React 子级无效”。
有没有一种优雅的方式来做到这一点?谢谢!
解决方案
您不是为了获取返回的标记而调用该函数,您只是传入对函数对象的引用
改变
{this.renderSecondaryNavigation}
到
{this.renderSecondaryNavigation()}
推荐阅读
- php - 从一个文件夹复制,解密然后使用 PHP 解压缩
- android - 如何从 XML 文件运行动画?
- html - Flexbox 显示动态项目数,每行 5 个项目,使用 flex 基础来消耗额外空间
- sql - PostgreSQL 为 varchar-timestamp 转换返回错误的值
- ios - 自定义 UITextField 中的边框宽度和占位符
- javascript - 传播运算符不作为 {...this.state.attributes} 工作
- java - Java Swing Jinternalframe 浏览器
- angular - Npm start 在添加“懒惰”模块后停留在 70%
- c# - 从 string.split 创建 xml 结构
- r - 在 SharePoint 上运行 R Shiny 应用程序