Удаление подчеркивания у Link в React Router: как это сделать
Быстрый ответ
Чтобы убрать подчеркивание у компонента <Link>
в React Router, задайте свойство textDecoration
равным значению none
:
<Link to="/your-path" style={{ textDecoration: 'none' }}>Ваша Ссылка</Link>
Или используйте CSS-класс:
.no-underline { textDecoration: none; }
<Link to="/your-path" className="no-underline">Ваша Ссылка</Link>
Инлайновый стиль или CSS-классы: быстрые изменения
Для немедленного удаления подчеркивания примените инлайновый стиль:
<Link to="/destination" style={{ textDecoration: 'none', color: 'inherit' }}>Ссылка с Встроенными Стилями</Link>
Это позволит моментально "заблокировать" место для подчеркивания.
Для последовательного применения стиля создайте CSS-класс:
.distinct-style {
textDecoration: 'none';
color: 'hotpink'; /* Цвет, который невозможно не полюбить */
}
Примените этот класс к компоненту <Link>
:
<Link to="/destination" className="distinct-style">Ссылка в Ярко-Розовом Стиле</Link>
Styled components: новый подход к стилизации
Styled components — отличное решение для сложной стилизации. Этот подход CSS-in-JS помогает упорядочить код, не уменьшая гибкости стилей:
import styled from 'styled-components';
import { Link } from 'react-router-dom';
const StyleLink = styled(Link)({
textDecoration: 'none',
color: 'rebeccapurple', // В честь великой Ребекки Пурпурной
':hover': {
textDecoration: 'underline',
},
});
<StyleLink to="/styled-path">Ссылка в Индивидуальном Стиле</StyleLink>
Интеграция Material-UI с React Router
Прочную связь между Material-UI и React Router можно установить через свойство component
:
import { Button } from '@material-ui/core';
import { Link } from 'react-router-dom';
<Button
component={Link}
to="/materialized-path"
style={{ textDecoration: 'none' }}
>
Ссылка в Стиле Material-UI
</Button>
Работа со стилями наследования
Используйте стили наследования для упрощения кода:
.link-master {
color: 'inherit';
textDecoration: 'inherit';
}
Примените этот класс к вашему <Link>
:
<Link to="/based-on-parent" className="link-master">Ссылка с Наследуемым Стилем</Link>
Визуализация
Представьте компонент Link как домашнюю собаку, а подчеркивание как его поводок:
До:
🔗 [Поводок] 🐕🦺 (с подчеркиванием)
И уберите его:
.LinkComponent {
text-decoration: none; /* Пусть радуется свободе! */
}
После:
🐕🦺 (текст, который теперь может свободно бегать без поводка)
Текст, как питомец, теперь безграничен! 🚶♂️🐕🦺✨
Контроль над всеми состояниями
Управляйте стилями в различных состояниях элемента, чтобы подчеркивание не появилось вновь:
.state-full {
textDecoration: 'none';
}
.state-full:hover,
.state-full:active,
.state-full:visited {
textDecoration: 'none';
}
Динамический гардероб для ваших ссылок
В приложениях, где применяется динамическая тема, вы можете встроить стили непосредственно в логику компонента, используя инлайновые стили:
// Предположим, что styleTheme получен из глобального состояния
<Link to="/dynamic" style={{ textDecoration: styleTheme.textDecoration }}>Динамичная Ссылка с Встроенными Стилями</Link>