This allows React Router to do client-side routing, without refreshing the page
Component Libraries & UI Libraries
What are Component Libraries?
A collection of React components, ready to go
Some libraries come with extensive (and opinionated) styling (e.g. MaterialUI)
Some libraries only provide the components somewhat unstyled (e.g. RadixUI)
Benefits of Using a Component Library
Consistency: Consistent design and branding across the application
Reusability: Reusable components for faster development
Accessibility: Built-in accessibility features
Challenges When Using a Component Library
Learning curve: Every library works differently, as they differ in component names, prop names, other APIs and capabilities
Lock-in effect: It's often inefficient to combine multiple libraries, so you're stuck with the one you chose, unless you refactor your entire app
Exercises
Practice Implementing React Context
1. Exercises on React.dev website
There's an interesting exercise on the official React Docs. They call their exercises "challenges". You'll be able to solve it inline, directly on the page. Or you can convert it to a CodeSandbox (where you may need to create an account or use GitHub to log in).
Note: As you may find out yourselves, one solution is available for each challenge. Make sure to only reveal the solution once you have created your own, otherwise you won't have anything to compare, and you won't learn anything.