当前位置: 首页 > 知识库问答 >
问题:

React站点警告:href属性需要有效地址。提供有效的可导航地址,因为href值jsx-a11y/anchor有效

晋西岭
2023-03-14

我在我建的React网站上收到了警告

./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中的一个错误?

共有3个答案

岳晟
2023-03-14

我已经使用了href="!#"删除警告。

秦弘亮
2023-03-14

这些措施使我摆脱了警告;

<a href="#/">...</a>  
<a href={() => false}>...</a>
石苏燕
2023-03-14

使用href=“/#”替换href=“#”href=“javascript:;”href=“javascript:void(0);”

它应该删除警告。

 类似资料:
  • 问题内容: 我们的一位Web开发人员使用以下html作为占位符来设计下拉列表。 这被认为是锚标签有效吗? 由于没有href值,因此它在我们的某些链接检查器报告中显示为损坏。 问题答案: 正如其他人所说,这是有效的。 每种方法都有一些缺点: 在浏览器历史记录中添加了一个额外的条目(例如,向后按钮时很烦人)。 重新加载页面 似乎没有任何问题(除了看起来凌乱和毫无意义)-任何人都知道吗?

  • 4、取有效地址指令LEA(LoadEffective Address) 指令LEA是把一个内存变量的有效地址送给指定的寄存器。其指令格式如下: LEA Reg, Mem 该指令通常用来对指针或变址寄存器BX、DI或SI等置初值之用。其功能如右图所示。 例如: 图5.4 LEA指令的功能示意图 … BUFFER DB 100 DUP(?) … LEA BX, BUFFER ;把字节变量BUFFER在

  • 通过该接口可以设置用户视频播放地址的有效时间 (需开通视频播放地址有效时长的设置权限), 地址为: http://spark.bokecc.com/api/authtimeout/update 需要传递以下参数: 参数 说明 userid 用户 id,不可为空 status 是否开启 自定义播放地址有效时长 0 关闭 (默认2小时,设置timeout值无效) ,1开启 (必须设置timeout值)

  • 检查指定的字符串是否是有效的以太坊地址。如果地址同时使用了大小写字符, web3.utils.isAddress()方法也会检查校验和。 调用: web3.utils.isAddress(address) 参数: address - String: 要检查的地址字符串 返回值: Boolean:有效地址则返回true,否则返回false 示例代码: web3.utils.isAddress('0

  • 检查给定的IBAN地址是否有效。注意,IBAN对象也有此方法。 调用: web3.eth.Iban.isValid(address) 参数: address:String,要检查的IBAN地址 返回值: Boolean:有效的地址则返回true,否则返回false 示例代码: web3.eth.Iban.isValid("XE81ETHXREGGAVOFYORK"); > true web3.

  • 问题内容: 有没有一种使用正则表达式检查表单输入的好方法,以确保它是正确的样式电子邮件地址?自昨晚以来一直在搜索,如果它是子域的电子邮件地址,则回答了有关该主题的人们疑问的每个人似乎也有问题。 问题答案: 无关紧要。即使你可以验证该电子邮件地址在语法上是有效的,你仍然需要检查该电子邮件地址是否未键入错误,以及该地址是否确实属于你认为确实有用的人。唯一的方法是向他们发送电子邮件,并让他们单击链接进行