reactjs - 反应 .map 函数中的 if 语句
问题描述
如果条件为真,我试图仅将函数映射到 listItems,否则跳过它。我一直在尝试不同的东西,但我不想在列表完成之前返回。
我有这个代码:
const listItems = (
<ul>
{desclist.map((point, index) =>
if (point.length < 2) {
<li key={index}>
<p>{point}</p>
</li>
)}
}
</ul>
);
return listItems;
}
解决方案
如果你在.map
函数中返回一些东西,它不会结束函数的循环,仍然会继续迭代。相反,您返回的内容将被放入.map
返回的结果数组中。这意味着如果在内部.map
您根据 if 语句返回一个组件,否则返回一个组件,否则结果将是一个包含所有返回组件的数组。
const listItems = (
<ul>
{
desclist.map((point, index) =>
if (point.length < 2) {
return <li key={index}>
<p>{point}</p>
</li>;
}
);
}
</ul>
);
推荐阅读
- android - 如何解决警告 - 对于 Android 11 中不可用的 Google 地图版本 1
- javascript - Javascript - 开始文本输入时只读
- php - jQuery将dict附加到html,如何从1插入一个自动递增的id
- android - 如何向 Azure Bot 发送短信?
- python - 网页抓取问题 - 在页面源中看不到数据
- python-3.x - 如何在熊猫数据框中查找缺失的索引值?
- amazon-web-services - 如果在 terraform 中未指定提供程序版本约束并且涉及重大更改,会发生什么情况
- vue.js - 使用自定义主机名时,热重载不适用于 Vue CLI 项目
- sql - SQL Server 阻止更新列(插入时数据库设置的 datetime2 列值)
- c# - 读取服务器的证书存储