React Router supports three different routing strategies, or "modes":
Declarative mode: Enables basic routing features like matching URLs to components, navigating around the app, and providing active states with APIs like <Link>, useNavigate(), and useLocation().
Data mode: Adds data loading, actions, pending states and more with APIs like loader, action, and useFetcher. To use React Router in data mode, see the demo repository. A guide is coming soon.
Framework mode: Use React Router as a framework to build your entire app. To use React Router as a framework instead, see the React Router quickstartReact Router Icon.
This guide will cover how to add React Router in declarative mode, assuming you have followed the React quickstartReact Icon.
To use declarative mode, wrap your app in a <BrowserRouter>. To define your app's routes, add <Routes> and <Route> components. This example adds the / (home) route and renders the <App /> component when the URL matches. Read more about routing in the React Router docs.