В приложениях React появляется сообщение «Ошибка: недопустимая <ссылка>с «дочернее сообщение» часто возникает при использовании библиотеки React Router. Эта ошибка обычно возникает при попытке вложить тег <a> в компонент <Link>. Чтобы решить эту проблему, у вас есть несколько вариантов. В этой статье мы рассмотрим несколько методов с примерами кода, которые помогут вам преодолеть эту ошибку и сохранить желаемую функциональность в вашем приложении React.
».
Метод 1: удалите Ярлык
Самое простое решение — удалить тег <a>, вызывающий ошибку, и использовать исключительно компонент <Link>. Вот пример:
import { Link } from 'react-router-dom';
function MyComponent() {
return (
<Link to="/path">
Go to Path
</Link>
);
}
Метод 2: используйте и В отдельности
Если вам нужно включить тег привязки для определенного стиля или функциональности, вы можете использовать компонент <Link> и тег <a> отдельно. Вот пример:
import { Link } from 'react-router-dom';
function MyComponent() {
return (
<div>
<Link to="/path">
Go to Path
</Link>
<a href="https://example.com" target="_blank">
Visit Example
</a>
</div>
);
}
Метод 3. Использование реквизита «legacyBehavior».
React Router предоставляет реквизит «legacyBehavior», который позволяет использовать теги <a>в компонентах <Link>. Однако важно отметить, что этот метод может повлиять на поведение вашего приложения, поэтому используйте его осторожно. Вот пример:
import { Link } from 'react-router-dom';
function MyComponent() {
return (
<Link to="/path" legacyBehavior>
<a href="/path">Go to Path</a>
</Link>
);
}
Метод 4. Замените на для внешних ссылок
Если вы имеете дело с внешней ссылкой, не требующей маршрутизации, рассмотрите возможность использования тегов <a> вместо <Link>. Вот пример:
function MyComponent() {
return (
<a href="https://example.com" target="_blank">
Visit Example
</a>
);
}