Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

300
Visualizações
React activeClassName property of NavLink not working

I've been trying to use the activeClassName property of NavLink for applying a certain color and background to the links/anchors. But the changes weren't displayed upon clicking. I'm attaching the js and CSS snippets below

import React from 'react';
import { NavLink } from 'react-router-dom';
import './navbar.css';

const Navbar = () => {
  return (
    <div className='navbar'>
      <div className='navbar__left'>
        <NavLink to='/'>Clubhub</NavLink>
      </div>

      <div className='navbar__right'>
        <NavLink activeClassName='active_link' to='/'>
          Home
        </NavLink>
        <NavLink activeClassName='active_link' to='/membership'>
          Membership
        </NavLink>
        <NavLink activeClassName='active_link' to='/booking'>
          Booking
        </NavLink>
        <NavLink activeClassName='active_link' to='/profile'>
          Profile
        </NavLink>
      </div>
    </div>
  );
};

export default Navbar;

.active_link {
  background-color: #224461;
  color: white;
}
Please help me figure out the issue. Thanks!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

As per react-router docs,

In React Router v6, activeClassName will be removed and you should use the function className to apply classnames to either active or inactive NavLink components.

Here is an updated version :-

import React from "react";
import { NavLink, BrowserRouter as Router } from "react-router-dom";
import "./navbar.css";

const classNameFunc = ({ isActive }) => (isActive ? "active_link" : "");

const App = () => {
  return (
    <Router>
      <div className="navbar">
        <div className="navbar__left">
          <NavLink to="/">Clubhub</NavLink>
        </div>

        <div className="navbar__right">
          <NavLink className={classNameFunc} to="/">
            Home
          </NavLink>
          <NavLink className={classNameFunc} to="/membership">
            Membership
          </NavLink>
          <NavLink className={classNameFunc} to="/booking">
            Booking
          </NavLink>
          <NavLink className={classNameFunc} to="/profile">
            Profile
          </NavLink>
        </div>
      </div>
    </Router>
  );
};

export default App;

The above code in action :-

Edit React-rourt-dom-NavLink

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda