Библиотека Ant Design (AntD) предоставляет широкий набор иконок, используемых для визуального сопровождения интерфейса. Иконки помогают сделать интерфейс более понятным и интуитивным, служат индикаторами действий, статусов и категорий. В AntD используется пакет @ant-design/icons, который предлагает несколько типов иконок и способы их интеграции.
Для работы с иконками необходимо установить пакет:
npm install @ant-design/icons
Импортировать отдельную иконку можно следующим образом:
import { HomeOutlined, UserOutlined, LoadingOutlined } from '@ant-design/icons';
Иконки используются как обычные React-компоненты:
<HomeOutlined style={{ fontSize: '24px', color: '#1890ff' }} />
Ключевые моменты при использовании:
style, className и
onClick.Outlined,
Filled, TwoTone), определяющий стиль
отображения.Контурные иконки отображаются с тонкой линией, без заливки. Используются для нейтральных действий и элементов интерфейса, где важна минимальная визуальная нагрузка.
Примеры:
import { MailOutlined, SettingOutlined } from '@ant-design/icons';
<MailOutlined />
<SettingOutlined />
Особенности:
style.Заполненные иконки имеют сплошную заливку, что делает их выразительными и акцентными. Используются для обозначения активного состояния или выделения ключевых действий.
Примеры:
import { HomeFilled, StarFilled } from '@ant-design/icons';
<HomeFilled />
<StarFilled />
Особенности:
Иконки TwoTone используют два цвета: основной и дополнительный для создания глубины и объёма. Они придают интерфейсу современный вид и визуальную выразительность.
Примеры:
import { HeartTwoTone, SmileTwoTone } from '@ant-design/icons';
<HeartTwoTone twoToneColor="#eb2f96" />
<SmileTwoTone twoToneColor="#52c41a" />
Особенности:
twoToneColor.Иконки AntD легко кастомизируются через стандартные свойства React-компонента:
style – CSS-стили (цвет, размер, отступы).className – добавление классов для интеграции с CSS или
CSS-in-JS.onClick – обработчики событий клика.spin – свойство для вращающихся иконок (например,
индикаторы загрузки).Пример вращающейся иконки:
import { LoadingOutlined } from '@ant-design/icons';
<LoadingOutlined style={{ fontSize: 24 }} spin />
Для оптимизации проекта рекомендуется:
Иконки можно рендерить динамически через объект с соответствиями имени и компонента:
import * as Icons from '@ant-design/icons';
const iconName = 'UserOutlined';
const DynamicIcon = Icons[iconName];
<DynamicIcon style={{ fontSize: 20, color: 'blue' }} />
Преимущества:
| Тип | Пример | Особенности |
|---|---|---|
| Outlined | MailOutlined | Контурные, нейтральные действия |
| Filled | HomeFilled | Заполненные, акцентные элементы |
| TwoTone | HeartTwoTone | Двухцветные, выразительные, с кастомными цветами |
Использование иконок Ant Design строится на сочетании визуальной выразительности, читаемости и гибкости кастомизации. Каждая категория служит своей роли, а их грамотное сочетание обеспечивает интуитивно понятный и современный интерфейс.