I’m scratching my head here trying to figure out why I can’t see the styling applied to my Navbar. I’ve installed all of the necessary modules but it’s not happening. My code is below. I was working on a custom Navbar but the material one is very slick so I wanted to try it instead.
Navbar code
JavaScript
x
83
83
1
import React, { useState } from 'react';
2
import {
3
MDBContainer,
4
MDBNavbar,
5
MDBNavbarBrand,
6
MDBNavbarToggler,
7
MDBIcon,
8
MDBNavbarNav,
9
MDBNavbarItem,
10
MDBNavbarLink,
11
MDBBtn,
12
MDBDropdown,
13
MDBDropdownToggle,
14
MDBDropdownMenu,
15
MDBDropdownItem,
16
MDBDropdownLink,
17
MDBCollapse
18
} from 'mdb-react-ui-kit';
19
20
export default function NavbarMaterial() {
21
const [showBasic, setShowBasic] = useState(false);
22
23
return (
24
<MDBNavbar expand='lg' light bgColor='light'>
25
<MDBContainer fluid>
26
<MDBNavbarBrand href='#'>Brand</MDBNavbarBrand>
27
28
<MDBNavbarToggler
29
aria-controls='navbarSupportedContent'
30
aria-expanded='false'
31
aria-label='Toggle navigation'
32
onClick={() => setShowBasic(!showBasic)}
33
>
34
<MDBIcon icon='bars' fas />
35
</MDBNavbarToggler>
36
37
<MDBCollapse navbar show={showBasic}>
38
<MDBNavbarNav className='mr-auto mb-2 mb-lg-0'>
39
<MDBNavbarItem>
40
<MDBNavbarLink active aria-current='page' href='#'>
41
Home
42
</MDBNavbarLink>
43
</MDBNavbarItem>
44
<MDBNavbarItem>
45
<MDBNavbarLink href='#'>Link</MDBNavbarLink>
46
</MDBNavbarItem>
47
48
<MDBNavbarItem>
49
<MDBDropdown>
50
<MDBDropdownToggle tag='a' className='nav-link'>
51
Dropdown
52
</MDBDropdownToggle>
53
<MDBDropdownMenu>
54
<MDBDropdownItem>
55
<MDBDropdownLink>Action</MDBDropdownLink>
56
</MDBDropdownItem>
57
<MDBDropdownItem>
58
<MDBDropdownLink>Another action</MDBDropdownLink>
59
</MDBDropdownItem>
60
<MDBDropdownItem>
61
<MDBDropdownLink>Something else here</MDBDropdownLink>
62
</MDBDropdownItem>
63
</MDBDropdownMenu>
64
</MDBDropdown>
65
</MDBNavbarItem>
66
67
<MDBNavbarItem>
68
<MDBNavbarLink disabled href='#' tabIndex={-1} aria-disabled='true'>
69
Disabled
70
</MDBNavbarLink>
71
</MDBNavbarItem>
72
</MDBNavbarNav>
73
74
<form className='d-flex input-group w-auto'>
75
<input type='search' className='form-control' placeholder='Type query' aria-label='Search' />
76
<MDBBtn color='primary'>Search</MDBBtn>
77
</form>
78
</MDBCollapse>
79
</MDBContainer>
80
</MDBNavbar>
81
);
82
}
83
Here’s the code from my App.js with said Navbar
JavaScript
1
38
38
1
import React from "react";
2
import { Routes, Route } from 'react-router-dom';
3
import Header from './components/Header'
4
import NavbarBasic from './components/NavbarBasic';
5
import NavbarMaterial from './components/NavbarMaterial';
6
import About from './components/pages/About';
7
import Pests from './components/pages/Pests';
8
import { Ants, Bees, Roaches, Mice, Wasps, Bedbugs, Flies } from './components/Pests';
9
import Home from './components/pages/Home';
10
import Services from './components/pages/Services';
11
import Contact from './components/pages/Contact';
12
13
function App() {
14
return (
15
<div className="main">
16
<Header />
17
<NavbarMaterial />
18
{/* These are the main routes and subpages */}
19
<Routes>
20
<Route path='/' element={<Home />} />
21
<Route path='/about' element={<About />} />
22
<Route path='/pests-we-treat' element={<Pests />} />
23
<Route path='/services' element={<Services />} />
24
<Route path='/contact' element={<Contact />} />
25
<Route path='/ants' element={<Ants />} />
26
<Route path='/wasps' element={<Wasps />} />
27
<Route path='/roaches' element={<Roaches />} />
28
<Route path='/bedbugs' element={<Bedbugs />} />
29
<Route path='/bees' element={<Bees />} />
30
<Route path='/mice' element={<Mice />} />
31
<Route path='/flies' element={<Flies />} />
32
</Routes>
33
</div>
34
);
35
}
36
37
export default App;
38
Here’s my package JSON file with the dependencies.
JavaScript
1
60
60
1
{
2
"name": "weinerpest",
3
"homepage": "http://weinerpestservices.com",
4
"version": "0.1.0",
5
"private": true,
6
"dependencies": {
7
"@emotion/react": "^11.5.0",
8
"@emotion/styled": "^11.3.0",
9
"@fortawesome/fontawesome-svg-core": "^1.2.36",
10
"@fortawesome/free-solid-svg-icons": "^5.15.4",
11
"@fortawesome/react-fontawesome": "^0.1.16",
12
"@material-ui/core": "^4.12.3",
13
"@material-ui/icons": "^4.11.2",
14
"@mui/material": "^5.0.4",
15
"@mui/styles": "^5.2.3",
16
"@testing-library/jest-dom": "^5.14.1",
17
"@testing-library/react": "^11.2.7",
18
"@testing-library/user-event": "^12.8.3",
19
"bootstrap": "^5.1.3",
20
"history": "^5.1.0",
21
"mdb-react-ui-kit": "^2.1.0",
22
"mdbreact": "^5.2.0",
23
"react": "^17.0.2",
24
"react-bootstrap": "^2.0.3",
25
"react-dom": "^17.0.2",
26
"react-dropdown": "^1.9.2",
27
"react-dropdown-router": "^1.0.1",
28
"react-responsive": "^9.0.0-beta.4",
29
"react-router-dom": "^6.0.2",
30
"react-scripts": "4.0.3",
31
"react-select": "^5.2.1",
32
"styled-components": "^5.3.3",
33
"web-vitals": "^1.1.2"
34
},
35
"scripts": {
36
"start": "react-scripts start",
37
"build": "react-scripts build",
38
"test": "react-scripts test",
39
"eject": "react-scripts eject"
40
},
41
"eslintConfig": {
42
"extends": [
43
"react-app",
44
"react-app/jest"
45
]
46
},
47
"browserslist": {
48
"production": [
49
">0.2%",
50
"not dead",
51
"not op_mini all"
52
],
53
"development": [
54
"last 1 chrome version",
55
"last 1 firefox version",
56
"last 1 safari version"
57
]
58
}
59
}
60
Advertisement
Answer
When using MDB5, You should create MDBNavbarLink this way:
JavaScript
1
2
1
<MDBNavbarLink tag={Link} to='/test1'>Test1</MDBNavbarLink>
2
Or
JavaScript
1
15
15
1
import { Link } from 'react-router-dom';
2
export default function App() {
3
return (
4
<MDBNavbar expand='lg' light bgColor='light'>
5
<MDBContainer fluid>
6
<MDBNavbarBrand href='/'>Navbar</MDBNavbarBrand>
7
<MDBNavbarNav>
8
<MDBNavbarLink tag={Link} to='/test1'>Test1</MDBNavbarLink>
9
<MDBNavbarLink tag={Link} to='/test2'>Test2</MDBNavbarLink>
10
</MDBNavbarNav>
11
</MDBContainer>
12
</MDBNavbar>
13
);
14
}
15
Make sure that react-router-dom is installed in the project. If not, add it with npm i react-router-dom