У меня есть элементы NavDropdown и NavLink, которые должны быть выделены, когда активны. Как мне этого добиться? Я попытался использовать activeClassName, но я не смог добиться этого внутри реагирующих bootstrap компонентов. В документации о response- bootstrap я видел события eventKey и activeKey, но я запутался в их использовании.
Может кто-нибудь подсказать мне, как мне этого добиться?
import React, { useState } from "react";
import logo from "./logo.svg";
import Navbar from "react-bootstrap/Navbar";
import Container from "react-bootstrap/Container";
import Nav from "react-bootstrap/Nav";
import NavDropdown from "react-bootstrap/NavDropdown";
import { HashLink as Link } from "react-router-hash-link";
function Navigation() {
const [activeDropdown, setActiveDropdown] = useState("");
const clearActiveDropdown = () => setActiveDropdown("");
return (
<Navbar bg="white" expand="lg" fixed="top">
<Container fluid>
<Navbar.Brand href="/">
<img src={logo} id="logo" className="App-logo" alt="logo" />
</Navbar.Brand>
<Navbar.Toggle aria-controls="basic-navbar-nav" />
<Navbar.Collapse id="basic-navbar-nav">
<Nav className="mr-auto">
<NavDropdown
title="About"
onMouseEnter={() => setActiveDropdown("about")}
onMouseLeave={clearActiveDropdown}
show={activeDropdown === "about"}
>
<NavDropdown.Item>
<Link to="/about#about">Who we are</Link>
</NavDropdown.Item>
<NavDropdown.Item>
<Link to="/about#how_we_work">How we Work</Link>
</NavDropdown.Item>
<NavDropdown.Item>
<Link to="/about#certifications">Certifications</Link>
</NavDropdown.Item>
<NavDropdown.Item>
<Link to="/about#partners">Partners</Link>
</NavDropdown.Item>
</NavDropdown>
<NavDropdown
title="Services"
onMouseEnter={() => setActiveDropdown("services")}
onMouseLeave={clearActiveDropdown}
show={activeDropdown === "services"}
>
<NavDropdown.Item href="#action/2.1">
Cloud Digital Transformation
</NavDropdown.Item>
<NavDropdown.Item href="#action/2.2">
Expert Cloud Advise and Support
</NavDropdown.Item>
<NavDropdown.Item href="#action/2.3">
Software Development
</NavDropdown.Item>
<NavDropdown.Item href="#action/2.4">
Dedicated Teams
</NavDropdown.Item>
</NavDropdown>
<Nav.Link href="https://www.genesecloud.academy/" target="_blank">
Cloud Academy
</Nav.Link>
<Nav.Link href="#contact">Contact</Nav.Link>
</Nav>
</Navbar.Collapse>
</Container>
</Navbar>
);
}
export default Navigation;