reactjs - 如何在反应中只给地图的第一个结果提供道具?
问题描述
我使用 map 从 Array 中创建了一个组件列表。我必须只为地图的第一个结果提供道具。我该怎么做?(只给元素 Array[0] 一个道具)。
if (dropDownOptions && Array.isArray(dropDownOptions)) {
return (
<ul className={styles.ul}>
{dropDownOptions.map((option)=> (
<DropDownItem
iconName={option.iconName}
value={option.value}
displayValue={option.displayValue ? true : false}
key={option.name}
onClick={e => this.optionSelected()}
>
{option.props.children}
</DropDownItem>
))}
</ul>
);
}
};
解决方案
您可以使用过滤第一个和所有其他元素filter
,然后对其进行映射。
if (dropDownOptions && Array.isArray(dropDownOptions)) {
return (
<ul className={styles.ul}>
{/* first element */}
{dropDownOptions.filter((e, i) => i === 0).map((option, i) => (
<DropDownItem
iconName={option.iconName}
value={option.value}
displayValue={option.displayValue ? true : false}
key={option.name}
onClick={(e) => this.optionSelected()}
>
{option.props.children}
</DropDownItem>
))}
{/* all other elements */}
{dropDownOptions.filter((e, i) => i !== 0).map((option, i) => (
<DropDownItem>
{option.props.children}
</DropDownItem>
))}
</ul>
);
}
推荐阅读
- sql - Typeorm/Nestjs Raw 查询使用强制小写到列名
- swiftui - SwiftUI - FatalError:接受应该减少计数的工作表时索引超出范围
- java - 如何修复没有约束的外部 FOREIGN KEY 约束失败(代码 787)错误?
- ios - 防止编辑 UITextField 但不是 Swift 中的用户交互
- apache-kafka - 如何用内存数据库替换 RocksDB 仅用于集成测试?
- tdlib - 如何获取电报频道成员的完整列表
- javascript - Node JS - Backspace 在 Node-Pty 终端中不起作用
- flutter - 如何将数据从底部工作表发送到父小部件?
- javascript - 使用 Recaptcha v3(通过 NodeJs 和 Javascript)后,点击按钮发送表单数据不起作用?
- pdf - 模块解析失败:使用 pdfjs-dist 时 Storybook 中出现意外的标记