Introduction to React Router 6
Multi-page vs single-page apps
React Router Setup & BrowserRouter
BrowserRouter & Routes challenge
VanLife project bootstrapping
Initial Deploy to Netlify
Challenge: Vans Page - Part 1
Challenge: Vans Page - Part 2
A11y Update - wrapping complex content in a link
Route Params part 3.1 - useParams() & challenge
Route Params part 3.2 - useParams() challenge
Get detailed reviews of your React projects – Scrimba Bootcamp
Fixing the Navbar with a Layout Route
Fixing the Navbar with a Layout Route part 2
Active Link Styling with NavLink
Active Link Styling with NavLink - part 2
🔀 Optional Side Quest - Building out the Host Vans List and Detail Pages
Building out the Host Van Detail page
Add /host/vans/:id Nested Routes
Update deployed version on Netlify!
Challenge: Set up search params in VanLife
Filter the array w/ the search param
Challenge: Filter the vans in VanLife
Using Links to add search params
Challenge: Filter the vans with Links
Using the search params setter function
Challenge: Filter the vans with a setter function
Caveats to setting params
Merging search params with Links
Merging search params with the setSearchParams function
Challenge: Conditional rendering practice
Fix remaining absolute paths
Challenge: conditionally render the back button text
"Happy Path" vs. "Sad Path"
Quick update to our fetching code
Coding the Sad Path - Loading state
Coding the Sad Path - Error handling
Update: Accessibility Addition
Setting up the data router
Challenge: Vans List Loader
Challenge: useLoaderData in Vans List page
Use the loader data instead of the useEffect
Add errorElement to vans route
Note from the future: importing image assets in Vite
Protected Routes - AuthRequired Layout Route
Protected Routes - Conditionally send to /login page
Protected Routes - with loaders
Protected Routes w/ loaders
Challenge: Protected Routes w/ loaders
Challenge: Protected Routes in VanLife - Part 1
Aside challenge: move remaining fetching to loaders - Part 1
Aside challenge: move remaining fetching to loaders - Part 2
Challenge: Protected Routes in VanLife - Part 2
Send login message prompt to login page
Consume message from search param on login page
Pass message to Login page
🌶️ Take: Forms in React are bad
Setting up for authentication - happy path
Setting up for authentication - sad path
React Router Form Component
Setting up the Action function
Add form and action to VanLife
Action function - request
Use data in action to log in
Better (but still fake) auth
Challenge: send user to /host route after log in
Action error handling in VanLife
get previous route pathname
Putting it all together - defer Await Suspense in HostVans
errorElements in remaining van loading pages
Cloud Firestore Code Setup
Collection reference and getVans() function
Refactor getHostVans function