我在我建的一个反应网站上收到了警告
./src/components/layout/Navbar.js [1] Line 31: The href attribute requires a valid
address. Provide a valid, navigable address as the href value jsx-a11y/anchor-is-valid
下列守则:
<p>
{isEmpty(profile.website) ? null : (
<a
className="text-white p-2"
href={profile.website}
target="#"
>
<i className="fas fa-globe fa-2x" />
</a>
)}
{isEmpty(profile.social && profile.social.twitter) ? null : (
<a
className="text-white p-2"
href={profile.social.twitter}
target="#"
>
<i className="fab fa-twitter fa-2x" />
</a>
)}
{isEmpty(profile.social && profile.social.facebook) ? null : (
<a
className="text-white p-2"
href={profile.social.facebook}
target="#"
>
<i className="fab fa-facebook fa-2x" />
</a>
)}
</p>
即使警告只出现在第一个链接上,如果我临时删除第一个链接或者将第一个链接的 href 更改为静态 URL,那么同样的警告也会出现在下一个链接上。
链接只需要作为一个图标出现。
我尝试过一些方法,比如使用按钮(没有正确的外观) ,使用函数打开动态 url,以及使用 '' + {profile.website}
强制 href 为字符串。许多其它建议都没有奏效。
有没有办法在不更改 jsx-a11y 规则的情况下防止错误?我所做的不是一个好的模式,还是仅仅是 React 或 JSX 中的一个 bug?