Timeline — это компонент из библиотеки Ant Design, предназначенный для визуализации последовательности событий во времени. Он идеально подходит для отображения историй, логов, шагов процессов или хронологических событий.
import { Timeline } from 'antd';
Создание проекта
Разработка компонентов
Тестирование и отладка
Деплой на продакшн
В примере выше создается простой вертикальный
Timeline с четырьмя событиями. По умолчанию Timeline
отображается вертикально, но можно изменить направление с помощью пропса
mode.
mode определяет расположение контента относительно линии времени. Возможные значения:
left — события слева (по умолчанию)right — события справаalternate — события чередуются слева и справа
Начало проекта
Планирование
Разработка
Релиз
Использование alternate делает Timeline более наглядным
при отображении длинной последовательности шагов.
Каждый элемент Timeline.Item может иметь собственный цвет, что помогает визуально разделять типы событий:
blue — стандартное событиеred — важное событие или ошибкаgreen — успешное завершение
Запуск сервиса
Ошибка при деплое
Успешная проверка
Можно использовать кастомные цвета через CSS или hex-коды для полного контроля над визуальной частью.
Timeline позволяет заменять стандартные точки на кастомные иконки
через проп dot:
import { ClockCircleOutlined } from '@ant-design/icons';
}>
Время обновления данных
Завершение процесса
Использование иконок улучшает восприятие событий и делает интерфейс более информативным.
Каждый элемент Timeline может содержать любые React-компоненты, что позволяет добавлять подробное содержание:
Версия 1.0
- Добавлен базовый функционал
- Реализована авторизация
Версия 1.1
- Оптимизация производительности
- Новые страницы
Такой подход позволяет создавать детальные отчеты о развитии продукта или истории изменений.
Для отображения времени событий можно использовать проп
label. Он позволяет закреплять дату или временной
промежуток слева или справа от события:
Начало разработки
Первый релиз
Обновление функционала
Совмещение label с mode="alternate" делает
Timeline удобным для отображения исторических событий.
Timeline можно обновлять динамически, используя состояние React. Например:
import { useState } from 'react';
import { Timeline, Button } from 'antd';
const DynamicTimeline = () => {
const [events, setEvents] = useState(['Старт проекта']);
const addEvent = () => {
setEvents([...events, `Событие ${events.length + 1}`]);
};
return (
<>
{events.map((event, index) => (
{event}
))}
>
);
};
Такой подход позволяет строить Timeline на основе данных из API или пользовательских действий, делая его интерактивным.
Timeline отлично сочетается с карточками (Card), модальными окнами (Modal) и списками (List) для создания комплексных интерфейсов. Например, каждый шаг Timeline может содержать кнопку, открывающую модальное окно с подробной информацией о событии.
Использование таких комбинаций делает Timeline универсальным инструментом для визуализации любых процессов, будь то разработка, управление проектами или отслеживание событий.