reactjs - 与 ts 反应 - 检查地图 view.tsx 中的道具是否为空
问题描述
道具——
interface Props {
readonly historicPrices: IHistoricPrices[] | null;
readonly historicPricesChangeHandler: (value: IHistoricPrices[] | null) => void;
}
view.tsx 代码 -
<div className={classes['innerContainer']}>
{props.historicPrices?.map((price, idx) => {
return (
<li className={classes['innerContainer__text']} key={idx}>
{t(`historicPrices.currency.${currency}`)}
{price.price}
{t('historicPrices.date')}
{price.createdAt}
</li>
)
})}
</div>
如果数组没有返回任何内容,我如何显示消息
解决方案
使用&&
. 使用&&
运算符,第二个表达式仅在第一个为真时运行。
{props.historicPrices.length === 0 && <p>Alert</p> }
如果您有条件地想要显示一个或另一个,您可以使用?
条件运算符:
{props.historicPrices.length === 0 ? <p>Alert</p> : props.historicPrices?.map((price, idx) => {
return (
<li className={classes['innerContainer__text']} key={idx}>
{t(`historicPrices.currency.${currency}`)}
{price.price}
{t('historicPrices.date')}
{price.createdAt}
</li>
)
})}
上面的代码<p>
在长度为 0 时返回 ,否则运行 map 函数并将其渲染。
推荐阅读
- java - 使用 JPanel 绘图使 JScrollPanel 动态调整大小
- laravel - 使用存储在缓存/存储而不是数据库中的数据
- php - Wordpress 发布迁移到谷歌云问题
- python - 将文件输入到多个矩阵
- angular - 可滚动内容 - 角度日历
- node.js - 在生产服务器上使用 find() 时,Node/Mongoose 只返回一个文档
- css - 如何在 JavaFX CSS 中添加过渡到悬停效果?
- job-scheduling - CircleCI config.yml 中的错误
- django-forms - 在同一页面上添加和编辑评论
- python - 有没有办法在多个值上运行 np.where 而不仅仅是一个?