Topics:
- Single Page Applications
- Routing, declaritive component based routing
- Browser vs Hash History
- Path and Component
- cd into repo and run
npm install - run
npm start
- You'll notice we've already installed react-router-dom for you.
DONE * Step 1:
import { BrowserRouter as Router } from 'react-router-dom';inside yourindex.jsfile. DONE * Step 2: Wrap your<App />component that you're passing toReactDOM.render()with your<Router> </Router>component. DONE * Step 3: open up your chromeREACT DEV TOOLSand notice your app is now all wrapped inBrowserRouterDONE * Step 4: inside theREACT DEV TOOLSexpand<BrowserRouter>and highlight<Router>and notice that here is a"history"object on props.
DONE * Step 5: inside of your App.js file import { Route } from 'react-router-dom';
- this is where we're going to declare and specify our router.
DONE * Step 6: create 3
<Route />setting theirpathprop equal to/,/about,/contactwith their respective components. - be sure to incluce the
exactprop on the root component for/to make sure that it's rendering the exact component and not all the other components. DONE * Step 7: you should now be able to type/,/about,/contactafterlocalhost:PORT/to see what's a
DONE * Step 8: inside of Navigation.js import { Link } from 'react-router-dom'
DONE * Step 9: delete NavLink and replace it with <Link />
- Pro-tip: highlight NavLink and use
cmd/ctrl + dto select them all at once.
- Step 10: change the href on
<Link>totoand specify the correct routes to navigate to. - Step 11: head over to your app and start navigating. You should be able to see your URLS changing their paths as you go.