Skip to main content

Presets

Presets are reusable configuration packages that integrate React Router with deployment platforms, tools, and frameworks.

Overview

A preset is a package that provides:
  • Default React Router configuration
  • Platform-specific optimizations
  • Custom build hooks
  • Deployment integrations

Using Presets

Add presets to your react-router.config.ts:

Available Presets

Cloudflare

Deploy to Cloudflare Pages or Workers:

Vercel

Deploy to Vercel:

Netlify

Deploy to Netlify:

Creating Custom Presets

Create your own preset for custom integrations:

Preset API

name

A unique identifier for your preset:

reactRouterConfig()

Provide default configuration:

reactRouterConfigResolved()

Run code after config is fully resolved:

Configuration Merging

Presets are merged in order with user config:
Merge order:
  1. Preset A config
  2. Preset B config (overrides A)
  3. User config (overrides presets)

Excluded Keys

The presets key itself cannot be set by presets:

Build Hooks

Use buildEnd for post-build operations:

Platform-Specific Examples

Custom Server Adapter

Docker Deployment

Validation

Validate user configuration in presets:

Multiple Presets

Combine multiple presets:

Preset Options

Allow configuration of presets:
Usage:

See Also