У меня есть следующая функция рендеринга. Он создает гиперссылку, когда компонент имеет URL-адрес и оставляет его пустым в противном случае.Как удалить атрибут HREF из метки привязки в ReactJS
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 не удалит его. Предложение else приведет к тегу, который выглядит так: <a data-reactid=".0.1" href="">
.
Я знаю, что могу просто использовать тег SPAN вместо A. Для согласованности, хотя я бы предпочел.
'' Элементы должны иметь атрибут 'href' или атрибут' name'. То, что вы создаете, просто неверно. –
«Если атрибут href не указан, элемент представляет собой гиперссылку-заполнитель». http://www.w3.org/TR/html-markup/a.html#a – cleong
Я стою исправлено. Это интересная часть: * «Атрибут name для элемента a устарел. Подумайте о том, чтобы вместо этого добавить атрибут id в ближайший контейнер." * –