ReactJS映射:如何仅在url变量不为空时呈现html链接
ReactJS mapping: How do I render an html link ONLY when the url variable is not empty?
我有一个包含多个链接的产品列表。其中一个链接不是为我的所有产品填充的。
{ this.getSelectedProducts().map((product) => {
const headerProductHtml = { __html: `Learn more about ${product.name}` };
return (
<div className="column swiper-slide" key={ `row-header-${product.id}` }>
<div className="column__brand-background">
<div className="column__brand-img">
<div className="column__brand-img-wrapper">
<img src={`/img/CornProductComparisonTool/logos/${product.id}_lg.png`} alt={product.name} />
</div>
<div className="column__urls">
<span className="column__url-learn" dangerouslySetInnerHTML={headerProductHtml}></span>
<a href={product.brandUrl}>View Details</a> | <a href={product.brandLabelUrl}>View Labels</a>
{if (product.brandRatingsUrl){ | <a href={product.brandRatingsUrl}>View Ratings</a>}}
</div>
</div>
<div className="column__close" onClick={this.onCloseClick.bind(this, product.id)}></div>
</div>
</div>
);
}) }
我添加的行是:
{if (product.brandRatingsUrl){ | <a href={product.brandRatingsUrl}>View Ratings</a>}}
但它不起作用。我收到一个意外的令牌错误。这条线怎么了?
编辑:更改为这个,仍然不能工作
<a href={product.brandUrl}>View Details</a> | <a href={product.brandLabelUrl}>View Labels</a>
{product.brandRatingsUrl ? | <a href={product.brandRatingsUrl}>View Ratings</a> : null}
检查JSX中的If Else。
例如,您可以使用三元语句:
{ product.brandRatingsUrl ? <a href={product.brandRatingsUrl}>View Ratings</a> : null }
JSX中的大括号表示属性表达式(更多信息),这就是if
语句被破坏的原因。尝试使用三元表达式:
{ product.brandRatingsUrl ? <a class="line-right" href={product.brandRatingsUrl}>View Ratings</a> : null }
此外,正如评论中所指出的,&nbps;
不是有效的JS。为了在链接之前添加竖线,我会使用CSS(注意锚元素上的.line-right
类):
.line-right:before {
content: "|";
margin-right: 5px;
display: inline-block;
}
相关文章:
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 将提交按钮的HTML转换为链接HTML
- 动态链接html表内容
- 用javascript修改链接html
- 如果设备是移动设备,如何更改网页上的链接?HTML/Javascript/CSS.
- 如何通过选择链接 - HTML 来更改视频源
- 如何链接HTML部分
- 在href链接html中提交表单
- 用javascript链接Html文件
- 链接html数字选择
- 链接html输入到JavaScript游戏
- 链接html和css文件在不同的文件夹
- 链接HTML页面到NodeJS服务器-不会作为本地主机加载
- 为同一张图片的某些部分设置超链接?(HTML)
- 如何在导航栏中创建外部链接?(HTML)
- 创建一个链接html并使用jQuery执行一个操作
- 链接HTML中不同页面上的2个选择列表
- 链接html和javascript使点击器工作
- 是否有一种方法来“硬链接”html代码(链接,表单,按钮)与视频,使他们都直接显示在facebook的饲料
- 如何链接html表单和锚标记