Навигационная панель не показывает css во время ActiveState

#javascript #html #css #reactjs #react-bootstrap

Вопрос:

Я сделал навигационную панель в ReactJS, и я хочу, чтобы она оставалась подсвеченной вкладками (применяя некоторые стили) при нажатии на соответствующую вкладку и оставалась активной. Я написал следующий код, но стили не работают (уже проверил, что таблица стилей связана правильно, поскольку она основана на файловой структуре Reactjs).

Я взял ссылку отсюда : https://codepen.io/k3no/pen/OXgXOb?editors=0110

Navbar.js

 import React,{useState} from 'react';
import { Navbar,Container, Nav } from "react-bootstrap";
import {Link, BrowserRouter as Router} from 'react-router-dom';

const NavbarComponent = () => {


return (
    <>
              
            <nav variant='pills' className="navbar navbar-default navbar-static-top">
            <ul  className="nav nav-pills">
                <li >
                <Link activeclassname="active" to="/grocery">Grocery</Link>
                </li>
                <li >
                <Link activeclassname="active" to="/fashion">Fashion</Link>
                </li>
                <li >
                <Link activeclassname="active" to="/beauty">Beauty</Link>
                </li>
                <li >
                <Link activeclassname="active" to="/footwear">Footwear</Link>
                </li>
            </ul>
            </nav>
        
 
    </>
    )
  }

  export default NavbarComponent;
 

индекс.css

 nav {
border-bottom: 4px solid black;
text-align: center;
position: relative;
top: 0;
width: 100%;
background: white;
}

nav ul {
list-style-type: none;
margin: 0;
padding: 0;
}

nav li {
display: inline-block;
padding-top: 16px;
padding-bottom: 16px;
}

nav a {
text-decoration: none;
color: black;
font-weight: bold;
padding: 16px 32px;
}


.navbar .nav-pills >li >a {
color: black;
}
.navbar .nav-pills > li > a:hover {
 background-color: gold;
 color: black;
}

.navbar .nav-pills .active {
background-color: palevioletred;
color:Black ;
font-weight:bold;
}
 

Я взял ссылку отсюда : https://codepen.io/k3no/pen/OXgXOb?editors=0110

Я не понимаю, в чем ошибка.

Комментарии:

1. заменить activeclassname на activeClassName

2. Он показывает ошибку в консоли и говорит мне заменить activeClassName на activeclassname .

Ответ №1:

Вам нужно использовать NavLink из react-router-dom вместо Link , и тогда вы сможете использовать activeClassName свойство