В React Router v6 концепция свойства activeClassName
была удалена. Вместо этого в React Router v6 представлен новый подход к обработке активных классов с использованием хука useMatch
. Вот пример того, как можно добиться аналогичной функциональности:
- Импортируйте необходимые зависимости:
import { useMatch } from 'react-router-dom';
- Используйте хук
useMatch
в своем компоненте:function MyComponent() { const match = useMatch('/your-route'); return ( <NavLink to="/your-route" className={match ? 'active' : ''}> Link </NavLink> ); }
В приведенном выше примере перехватчик
useMatch
используется для сопоставления текущего маршрута с указанным маршрутом. При наличии совпадения классactive
применяется к компонентуNavLink
.
Этот новый подход обеспечивает большую гибкость и контроль над обработкой активных классов в React Router v6.