Обработка активных классов в React Router v6: новый подход с использованием useMatch Hook

В React Router v6 концепция свойства activeClassNameбыла удалена. Вместо этого в React Router v6 представлен новый подход к обработке активных классов с использованием хука useMatch. Вот пример того, как можно добиться аналогичной функциональности:

  1. Импортируйте необходимые зависимости:
    import { useMatch } from 'react-router-dom';
  2. Используйте хук useMatchв своем компоненте:
    function MyComponent() {
    const match = useMatch('/your-route');
    return (
    <NavLink to="/your-route" className={match ? 'active' : ''}>
      Link
    </NavLink>
    );
    }

    В приведенном выше примере перехватчик useMatchиспользуется для сопоставления текущего маршрута с указанным маршрутом. При наличии совпадения класс activeприменяется к компоненту NavLink.

Этот новый подход обеспечивает большую гибкость и контроль над обработкой активных классов в React Router v6.