我有以下渲染函数。当组件具有URL时,它会创建一个超链接;否则,它将保持为空。
问题在于一旦设置了HREF属性,React就不会将其删除。否则语句将导致一个看起来像这样的标签:
我知道我可以使用SPAN标签而不是A标签。但出于一致性的考虑,我宁愿不这样做。
render: function() {
var url = this.state.url;
if (url) {
return <a href={url}>{this.props.children}</a>
} else {
return <a>{this.props.children}</a>
}
},
问题在于一旦设置了HREF属性,React就不会将其删除。否则语句将导致一个看起来像这样的标签:
<a data-reactid=".0.1" href="">
。我知道我可以使用SPAN标签而不是A标签。但出于一致性的考虑,我宁愿不这样做。
<a>
元素必须具有href
属性或name
属性。您正在创建的内容是无效的。 - Felix Kling