The objects passed to createBrowserRouter are called Route Objects.
Component: The Component property in a route object defines the component that will render when the route matches.
Loader: Route loaders provide data to route components before they are rendered.
Action: Route actions allow server-side data mutations with automatic revalidation of all loader data on the page when called from <Form>, useFetcher, and useSubmit.
shouldRevalidate: By default, all routes are revalidated after actions. This function allows a route to opt-out of revalidation for actions that don't affect its data.
lazy : Most properties can be lazily imported to reduce the initial bundle size.