main
Branches
main (2.14.0)
dev
Versions
2.14.0
1.19.3
v0.21.0
Light
Dark
System
Docs
Blog
Showcase
Resources
Docs
Blog
Showcase
Resources
View code on GitHub
Chat on Discord
Form vs. fetcher
Getting Started
Quick Start (5m)
Tutorial (30m)
Upgrading to v2
Community
Future Flags
Changelog
Discussion Topics
Introduction, Technical Explanation
Runtimes, Adapters, Templates, and Deployment
Route Configuration
Fullstack Data Flow
Server vs. Client Code Execution
React Router
Progressive Enhancement
Pending UI
State Management
Network Concurrency Management
Form vs. fetcher
Hot Module Replacement
Form Resubmissions
File Conventions
.client modules
.server modules
Asset Imports
entry.client
entry.server
root
Route File Naming
vite.config.ts
Route Module
action
clientAction
clientLoader
Component
ErrorBoundary
handle
headers
HydrateFallback
links
loader
meta
shouldRevalidate
Components
Await
Form
Link
Links
LiveReload
Meta
NavLink
Outlet
PrefetchPageLinks
Scripts
ScrollRestoration
Hooks
useActionData
useAsyncError 🆕
useAsyncValue 🆕
useBeforeUnload
useBlocker
useFetcher
useFetchers
useFormAction
useHref
useLoaderData
useLocation
useMatches
useNavigate
useNavigation
useNavigationType
useOutlet
useOutletContext
useParams
unstable_usePrompt
useResolvedPath
useRevalidator 🆕
useRouteError 🆕
useRouteLoaderData
useSearchParams
useSubmit
useViewTransitionState
Utilities
Cookies
createRemixStub
data
defer
isRouteErrorResponse
json
unstable_parseMultipartFormData
redirect
redirectDocument
replace
Sessions
unstable_createFileUploadHandler
unstable_createMemoryUploadHandler
Styling
CSS Bundling
Regular CSS
CSS Imports
CSS in JS
CSS Modules
PostCSS
Tailwind
Vanilla Extract
Other API
@remix-run/dev CLI 🆕
@remix-run/{adapter}
@remix-run/serve
create-remix (CLI)
@remix-run/node
@remix-run/testing
Guides
Accessibility
Development Strategy
API Routes
Backend For Frontend
Breadcrumbs Guide
Browser Support
Client Data
Module Constraints
Contributing
CSS Files
Data Loading
Data Writes
Dependency optimization
Deployment
Disabling JavaScript
Environment Variables
Error Handling
FAQs
File Uploads
Form Validation
Gotchas
Index Query Param
Lazy Route Discovery
Local TLS
Manual Dev Server
MDX
Migrating from React Router
Not Found Handling
Performance
Presets
Resource Routes
Server Bundles
Single Fetch
SPA Mode
Streaming
Templates
TypeScript
Vite
Getting Started
Quick Start (5m)
Tutorial (30m)
Upgrading to v2
Community
Future Flags
Changelog
Discussion Topics
Introduction, Technical Explanation
Runtimes, Adapters, Templates, and Deployment
Route Configuration
Fullstack Data Flow
Server vs. Client Code Execution
React Router
Progressive Enhancement
Pending UI
State Management
Network Concurrency Management
Form vs. fetcher
Hot Module Replacement
Form Resubmissions
File Conventions
.client modules
.server modules
Asset Imports
entry.client
entry.server
root
Route File Naming
vite.config.ts
Route Module
action
clientAction
clientLoader
Component
ErrorBoundary
handle
headers
HydrateFallback
links
loader
meta
shouldRevalidate
Components
Await
Form
Link
Links
LiveReload
Meta
NavLink
Outlet
PrefetchPageLinks
Scripts
ScrollRestoration
Hooks
useActionData
useAsyncError 🆕
useAsyncValue 🆕
useBeforeUnload
useBlocker
useFetcher
useFetchers
useFormAction
useHref
useLoaderData
useLocation
useMatches
useNavigate
useNavigation
useNavigationType
useOutlet
useOutletContext
useParams
unstable_usePrompt
useResolvedPath
useRevalidator 🆕
useRouteError