Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React Router: animation

Как настроить маршруты с анимациями переходов?

Этот вопрос проверяет знание способов добавления анимации к маршрутам

Короткий ответ

Анимации переходов между маршрутами в React Router DOM реализуются с использованием библиотеки react-transition-group или фреймворков, таких как Framer Motion. Компоненты маршрутов оборачиваются в контейнер с анимацией.

Длинный ответ

Установка react-transition-group:

npm install react-transition-group

Пример с анимацией:

Настройте маршруты с анимацией:

import { CSSTransition, TransitionGroup } from 'react-transition-group';
import { Routes, Route, useLocation } from 'react-router-dom';
import './animations.css';
const AnimatedRoutes = () => {
	const location = useLocation();
	return (
		<TransitionGroup>
			<CSSTransition key={location.key} classNames="fade" timeout={300}>
				<Routes location={location}>
					<Route path="/" element={<Home />} />
					<Route path="/about" element={<About />} />
				</Routes>
			</CSSTransition>
		</TransitionGroup>
	);
};

Добавьте CSS для анимации:

.fade-enter {
	opacity: 0;
}
.fade-enter-active {
	opacity: 1;
	transition: opacity 300ms;
}
.fade-exit {
	opacity: 1;
}
.fade-exit-active {
	opacity: 0;
	transition: opacity 300ms;
}

Использование Framer Motion:

Более гибкий способ:

import { motion } from 'framer-motion';
const AnimatedPage = ({ children }) => (
	<motion.div
		initial={{ opacity: 0 }}
		animate={{ opacity: 1 }}
		exit={{ opacity: 0 }}
	>
		{children}
	</motion.div>
);

Итог: Анимация маршрутов позволяет сделать приложение более плавным и интерактивным.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • React Router

    React Router

Ключевые слова

#animation

Подпишись на React Developer в телеграм