npx skills add ...
npx skills add remix-run/agent-skills --skill react-router-data-mode
Build React applications using React Router's data mode with createBrowserRouter and RouterProvider. Use when working with route objects, loaders, actions, Form, useFetcher, or pending/optimistic UI without the Vite plugin.
npx skills add remix-run/agent-skills --skill react-router-data-mode
Data mode uses createBrowserRouter and RouterProvider to enable data loading, actions, and pending UI without the framework's Vite plugin. This is ideal for existing React applications that want to add data loading and mutation capabilities.
createBrowserRouter with route objectsloader property on routesaction property<Link>, <NavLink>, <Form>, redirect, and useNavigateuseNavigationuseFetcher for mutations without navigationLoad the relevant reference for detailed guidance on the specific API/concept:
| Reference | Use When |
|---|---|
references/routing.md | Configuring routes, nested routes, layout |
references/route-object.md | Understanding route object properties |
references/data-loading.md | Loading data with loaders |
references/actions.md | Handling forms, mutations, validation |
references/navigation.md | Links, programmatic navigation, redirects |
references/pending-ui.md | Loading states, optimistic UI |
references/ssr.md | Server-side rendering with data mode |
These are the most important patterns to follow. Load the relevant reference for full details.
Search forms - use <Form method="get">, NOT onSubmit with setSearchParams:
Inline mutations - use useFetcher, NOT <Form> (which causes page navigation):
See references/actions.md for complete patterns.
Use fetcher.formData to show expected results immediately:
See references/pending-ui.md for complete patterns.
If anything related to React Router is not covered in these references, you can search the official documentation: