Как я могу исправить jsx-a11y/anchor-is-valid при использовании компонента Link в React?

В приложении React

<Link to={`/person/${person.id}`}>Person Link</Link>

приводит к следующей ошибке eslint

The href attribute is required on an anchor. Provide a valid, navigable address as the href value jsx-a11y/anchor-is-valid

Компонент Link приводит к действительному атрибуту href.

<a href="#/person/2">Person Link</a>

В чем смысл этой ошибки? Как это исправить?

Любая помощь будет принята с благодарностью!

Ответ 1

Компонент Link генерирует атрибут href поэтому в конце тег привязки действителен с точки зрения доступности. Добавьте исключение в .eslintrc:

{
  "rules": {
    "jsx-a11y/anchor-is-valid": [ "error", {
      "components": [ "Link" ],
      "specialLink": [ "to" ]
    }]
  }
}

Кроме того, есть такая же проблема с ответом на GitHub.

Ответ 2

это избавит от предупреждения

Ответ 3

Вы можете просто написать текстовое содержимое внутри тега "a" и скрыть его с помощью CSS (font-size: 0px или что-то

Ответ 4

Возможно, вы хотели поставить backticks вместо одиночных кавычек, чтобы создать шаблонный литерал. Попробуйте следующее:

<Link to={`/person/${this.state.id}/edit`}>Edit</Link>