React bootstrap пользовательская навигационная ссылка активный стиль не работает - PullRequest
0 голосов
/ 20 апреля 2020

На самом деле я хочу сделать активный стиль меню вкладок как стиль наведения. Даже я пытался с activeClassName = "selected" не работает. Может ли кто-нибудь помочь с проблемой, которую я пытаюсь решить?

CSS, которую я использую

.my-navbar{
  color: #037979;
  font-size: 16px;
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  line-height: 1.6rem;
  text-decoration: none;
  margin: 10px  10px 10px  10px;

}
.my-navbar:visited {
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  font-size: 16px;
}
.my-navbar:hover {
  text-decoration: none;
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  color: #c10944;
  font-size: 16px;
  background-color: #61dafb;
}
.active {
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  color: #c10944;
  font-size: 16px;
  background-color: #61dafb;
}

реагировать - bootstrap, реагировать-маршрутизатор-дом - это импорт с использованием

 <Router>
                {/*header Menu Bar*/}
                <div className="mycontainer">
                    <Navbar bg="transparent" expand="lg">
                        <Navbar.Brand>
                            <div>
                                <img src={logo} alt="logo" width="200" />
                                {/*   <img src={process.env.PUBLIC_URL + "./images/logo.png"} alt="mypic" width="200" /> */}
                            </div>
                        </Navbar.Brand>

                        <Navbar.Toggle className="border-0" aria-controls="navbar-toggle" />
                        <Navbar.Collapse id="navbar-toggle" style={{marginTop: 30}}>
                            <Nav className="ml-auto" bsStyle="tabs" >
                                <Link activeClassName="selected" className="my-navbar" to="/">Home</Link>
                                <Link activeClassName="selected" className="my-navbar" to="/about">About</Link>
                                <Link className="my-navbar" to="/services">Services</Link>
                                <Link className="my-navbar" to="/contact">Contact</Link>
                                <Link className="my-navbar" to="/galleries">Galleries</Link>

                            </Nav>
                        </Navbar.Collapse>
                    </Navbar>
                </div>
                {/*Slider Bar*/}
                <Slidingmain />
                <div style={{ paddingTop: 50 }}>
                    <Route defaultActiveKey="/home"  path="/" exact render={() => <HomePage title={this.state.home.title} subTitle={this.state.home.subTitle} text={this.state.home.text} />}  className="container-full"/>
                    <Route path="/about" render={() => <AboutPage title={this.state.about.title} subTitle={this.state.about.subTitle} text={this.state.about.text} />} />
                    <Route path="/services" render={() => <ServicesPage title={this.state.services.title} />} />
                    <Route path="/contact" render={() => <ContactPage title={this.state.contact.title} />} />
                    <Route path="/galleries" render={() => <GalleriesPage title={this.state.galleries.title} />} />
                    <Footer />
                </div>

            </Router >

1 Ответ

1 голос
/ 20 апреля 2020

Пожалуйста, используйте <NavLink activeClassName="active"> вместо <Link activeClassName="selected">.

import { NavLink } from 'react-router';

Для получения дополнительной информации посетите https://reacttraining.com/react-router/web/api/NavLink

...