reactjs - 警告应在箭头函数的末尾返回一个值
问题描述
我在控制台上收到此警告。但是,在我看来,代码是正确的:
{
report.report.map((item, key) => {
if (item.status !== "pending_review") {
return (
<div key={key}>
<Spacing appearance="small" />
<Title as="h5" >Data: {formatDate(item.createdAt)}</Title>
<Title as="h5" >Realizada por: {item?.reported_by?.users[0]?.name}</Title>
<Spacing appearance="x-small" />
<Title as="h5" >{item?.description}</Title>
<Spacing appearance="medium" />
</div>
)
}
})
}
解决方案
您在if
-statement 之后缺少默认返回值:
{
report.report.map((item, key) => {
if (item.status !== "pending_review") {
return (
<div key={key}>
<Spacing appearance="small" />
<Title as="h5" >Data: {formatDate(item.createdAt)}</Title>
<Title as="h5" >Realizada por: {item?.reported_by?.users[0]?.name}</Title>
<Spacing appearance="x-small" />
<Title as="h5" >{item?.description}</Title>
<Spacing appearance="medium" />
</div>
)
}
return null; //
})
}
如果您想缩短它并避免使用if
,您可以在映射之前简单地过滤数组:
{
report.report
.filter(item => item.status !== "pending_review")
.map((item, key) => (
<div key={key}>
... content ...
</div>
));
}
推荐阅读
- google-maps - 当 Alternatives 属性设置为 false 时,Google Directions API 如何确定要返回的路线
- javascript - 如何格式化从 Object.values 中获取的 JSON 数据字符串?
- php - 将 cURL 转换为 wp_remote_post 不起作用,即 privat24 API
- google-apps-script - 谷歌表格停止脚本“删除重复行”将所有公式转换为值并仅删除列 A:A 中的重复项
- hyperledger-fabric - 提交使用私有数据的交易时如何选择背书节点
- javascript - 如何在 Element UI 的 Table 的行中显示动态信息
- ubuntu - 在 Ubuntu 18.04 上启用 root 用户
- corda - corda - 如何在节点中实现corda帐户?
- ruby - Ruby postgres 脚本未运行
- ruby-on-rails - 每次我运行 docker-compose run web 时 Docker 多个容器