I've been trying to add an active class to whichever component the user is on. I'm not sure how to use activeClassName.
JSX code:
import React, { Component } from 'react';
import '../css/nav.scss';
import { Link, NavLink } from 'react-router-dom';
import 'react-bootstrap';
class Navbar extends Component {
state = {};
render() {
return (
<nav class="navbar sticky-top navbar-expand-lg">
<Link to="/">
<a class="navbar-brand" href="#">
Web_Env
</a>
</Link>
<button
class="navbar-toggler"
type="button"
data-toggle="collapse"
data-target="#navbarNavDropdown"
aria-controls="navbarNavDropdown"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavDropdown">
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" href="#">
Create post
</a>
</li>
</ul>
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<NavLink to="/login" style={{ textDecoration: 'none' }}>
<a
className="nav-link"
href="#"
activeClassName="nav-link--active"
>
Login
</a>
</NavLink>
</li>
<li class="nav-item">
<NavLink to="/register" style={{ textDecoration: 'none' }}>
<a className="nav-link" href="">
Register
</a>
</NavLink>
</li>
</ul>
</div>
</nav>
);
}
}
export default Navbar;
Css code:
$color1: #aceca1;
$bgcolor1: #629460;
.navbar {
background-color: $bgcolor1 !important;
.navbar-brand {
color: lighten($color1, 10%);
font-weight: bold;
font-size: 2em;
}
a.nav-link {
color: $color1;
font-size: 1.1em;
transition: 200ms;
}
a.nav-link .active {
color: white;
font-size: 1.3em;
}
a.nav-link:hover {
color: white !important;
transform: scale(1.1);
text-decoration: none !important;
}
}
How can I change the styling of the anchor tag depending on which page the user is on. For example if they are in register then the register in the navbar will be bold and have a bigger font.