- Introduction to reactstrap
- Introduction to the React Router
- Implement the Router to support views for your industry project API
- Introduction to
useEffect
and loading data form a remote server API using "Ajax" - Go Full Stack
A sample of form options in case you love them. Something to ignore if you don't fall in love with them.
Super important stuff here with Router.
This is how this folder was created:
npx create-react-app week-12-storefront
cd week-12-storefront/
npm install --save react-router-dom
For more information about how the makers of CRA recommend starting with the router see:
https://create-react-app.dev/docs/adding-a-router/
The CRA docs link to the React Router basic example:
https://reactrouter.com/web/example/basic
The code shared in that example has been placed into App.js as follows:
import React from "react";
import {
BrowserRouter as Router,
Switch,
Route,
Link
} from "react-router-dom";
// This site has 3 pages, all of which are rendered
// dynamically in the browser (not server rendered).
//
// Although the page does not ever refresh, notice how
// React Router keeps the URL up to date as you navigate
// through the site. This preserves the browser history,
// making sure things like the back button and bookmarks
// work properly.
export default function BasicExample() {
return (
<Router>
<div>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/about">About</Link>
</li>
<li>
<Link to="/dashboard">Dashboard</Link>
</li>
</ul>
<hr />
{/*
A <Switch> looks through all its children <Route>
elements and renders the first one whose path
matches the current URL. Use a <Switch> any time
you have multiple routes, but you want only one
of them to render at a time
*/}
<Switch>
<Route exact path="/">
<Home />
</Route>
<Route path="/about">
<About />
</Route>
<Route path="/dashboard">
<Dashboard />
</Route>
</Switch>
</div>
</Router>
);
}
// You can think of these components as "pages"
// in your app.
function Home() {
return (
<div>
<h2>Home</h2>
</div>
);
}
function About() {
return (
<div>
<h2>About</h2>
</div>
);
}
function Dashboard() {
return (
<div>
<h2>Dashboard</h2>
</div>
);
}