EN
React - home link is always active in NavLink (using Bootstrap)
1
answers
0
points
I am using React with Bootstrap and I have this Home link which is always active, even on the other routes.
How can I make it inactive on the other routes?
<Nav.Link to='/' as={NavLink}>
Home
</Nav.Link>
Full code example:
import { Container, Nav, Navbar as NavbarBs } from 'react-bootstrap';
import { NavLink } from 'react-router-dom';
export function Navbar() {
return (
<NavbarBs sticky='top' className='bg-white shadow-sm mb-3'>
<Container>
<Nav>
<Nav.Link to='/' as={NavLink}>
Home
</Nav.Link>
<Nav.Link to='/store' as={NavLink}>
Store
</Nav.Link>
<Nav.Link to='/about' as={NavLink}>
About
</Nav.Link>
</Nav>
</Container>
</NavbarBs>
);
}
export default Navbar;
1 answer
0
points
Use end property that tells react router to match the exact path.
Practical example:
import { Container, Nav, Navbar as NavbarBs } from 'react-bootstrap';
import { NavLink } from 'react-router-dom';
export function Navbar() {
return (
<NavbarBs sticky='top' className='bg-white shadow-sm mb-3'>
<Container>
<Nav>
<Nav.Link to='/' as={NavLink} end>
Home
</Nav.Link>
<Nav.Link to='/store' as={NavLink}>
Store
</Nav.Link>
<Nav.Link to='/about' as={NavLink}>
About
</Nav.Link>
</Nav>
</Container>
</NavbarBs>
);
}
export default Navbar;
0 comments
Add comment