reactjs - 语法 React:没有包装的代码
问题描述
如何在不包装的情况下重写我的代码div
?
{ allItems.map(item => (
<div>
{ item === 2 &&
<li className="page-item">
<span className="page-link">...</span>
</li>
}
<li className="page-item">
<span className="page-link">{item}</span>
</li>
</div>
))}
解决方案
在 React 16+ 中,你可以使用Fragments来做到这一点:
在第一个版本中,片段是通过返回一个数组来完成的:
{ allItems.map(item => [
{ item === 2 &&
<li className="page-item">
<span className="page-link">...</span>
</li>
}
<li className="page-item">
<span className="page-link">{item}</span>
</li>
])}
从 React 16.2+ 开始,您可以按如下方式使用 Fragments:
const Fragment = React.Fragment
{ allItems.map(item => (
<Fragment>
{ item === 2 &&
<li className="page-item">
<span className="page-link">...</span>
</li>
}
<li className="page-item">
<span className="page-link">{item}</span>
</li>
</Fragment>
))}
还有一个简写语法,使用一个空标签:
const Fragment = React.Fragment
{ allItems.map(item => (
<>
{ item === 2 &&
<li className="page-item">
<span className="page-link">...</span>
</li>
}
<li className="page-item">
<span className="page-link">{item}</span>
</li>
</>
))}
学分。
推荐阅读
- angular - 按钮的发送值不起作用 [Angular Material Bootstrap]
- python - 坚持我在 Udemy 上做的 Django 项目教程 - OperationalError at /admin/jobs/job/add/ 没有这样的表:main.auth_user__old
- python - 如何使用 ndenumerate 索引 numpy 数组?
- python - 无法在 Matplotlib 中获取所需的子图配置
- python - 无法在 Windows 7 上安装 Python (0xc0000005)
- php - Apache 日志显示在 php 中调用时 paho.mqtt.client 不存在,但我可以通过 ssh 启动 py 脚本
- javascript - 运行 scrappy 蜘蛛时 Cloudflare 访问被拒绝
- loopbackjs - 如何使用 cli b4 model 命令在 Loopback 4 中使用嵌套对象
- scylla - 在 Scylla LCS 压缩中配置 sstable 大小
- angular7 - 最小和最大范围验证,验证错误显示在两个文本字段中,而不是编辑文本框