javascript - 可以多次渲染 React 元素吗?
问题描述
假设我有一个渲染 5 个图标的功能组件。
这可以这样做:
export default const Icons = () =>
<div>
<Icon/>
<Icon/>
<Icon/>
<Icon/>
<Icon/>
</div>;
但也可以这样做:
const icon = <Icon/>;
export default const Icons = () =>
<div>
{icon}
{icon}
{icon}
{icon}
{icon}
<div/>;
不同之处在于,在第二种情况下,只有一个 React 元素是使用React.createElement
.
是否不鼓励多次渲染 React 元素?
如果是这样,那是为什么?如果没有,通过多次渲染 React 元素是否有任何性能或尺寸优势?
解决方案
没关系。您还可以映射一些数据数组,您可以使用这些数据作为道具传递给您的组件。
const altTags = ['me', 'dog', 'cat'];
const icon = <Icon/>;
export default const Icons = () =>
<div>
{this.altTags.map(tag => <Icon alt={tag} />)}
</div>;
推荐阅读
- python - 关闭弹出窗口后 Python Selenium Firefox Driver Crash
- ibm-mq - 从 BMC ControlM 向 MQ 发布自定义消息
- c++ - 根据元组成员的整数值对元组列表进行排序
- mysql - 如何在 Node js 中承诺一个 mysql 池连接?
- node.js - 无法从 ubuntu 卸载 nodejs
- meshlab - 如何在 MeshLab 中将 3d 模型垂直于其表面展开?
- node.js - 如何解决 Adonis 应用程序启动时的崩溃?
- swift - WKWebView 保留自己
- node.js - 为什么我的 AWS Lambda 节点 JS 应用程序无法访问我的 MongoDB Atlas 集群?
- node.js - Nodemailer,服务器上的 sendMail 方法 - 无响应,无错误