#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
свойство