react-router-data

A set of guidelines for React Router Data Mode, which organizes page navigation together with data loading and form submissions.

In plain words
What is it for?
Building React applications with nested routes, route loaders, actions, lazy loading, redirects, forms, and route-level error handling.
Why use it?
It helps keep routing, fetching, authentication checks, loading states, errors, and form actions in predictable places.

Cursor rule

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/chand1012/cursorrules/react-router-data
Clone the repo
git clone --depth 1 https://github.com/chand1012/cursorrules
Per session 0 Nothing until a file matches its globs; then the whole rule loads.
When invoked 484 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.00484
Opus 5 $0.00000 $0.00242
Sonnet 5 $0.00000 $0.00097
Haiku 4.5 $0.00000 $0.00048

Measured 2d ago against content hash f17d9965d622, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

react-router-data scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

frameworks/react-router-data.mdc · 71 lines

How it starts

The opening of the file, as written. The whole thing — 71 lines — stays where its author put it; the contents beside it link to each section on GitHub.

React Router Data Mode Best Practices

Route Configuration

  • Use createBrowserRouter for Data Mode setup
  • Define loaders and actions at the route level
  • Implement nested routes for layout organization
  • Use lazy loading for routes and components
  • Include error boundaries in route definitions
  • Specify shouldRevalidate to control data fetching

Loaders

  • Decouple data fetching from components
  • Ensure type safety with TypeScript or Zod
  • Handle loading states with Suspense and Outlet
  • Use useLoaderData for accessing loader data
  • Implement authentication checks in loaders
  • Optimize with lazy-loaded loaders

Actions

  • Use <Form> for declarative form submissions
  • Leverage useSubmit for programmatic submissions
  • Utilize useFetcher for non-navigating actions
  • Differentiate between client and server actions
  • Implement redirects after successful actions
  • Prefer uncontrolled forms for simplicity

Components

  • Use route props for type-safe data access
  • Implement error boundaries for robust error handling
  • Create reusable components for forms and UI
  • Use <Outlet> for rendering nested routes
  • Keep components focused on single responsibilities
  • Avoid manual data fetching in components
  • Use <Link> for declarative navigation
  • Implement useNavigate for programmatic navigation
  • Handle navigation states with useNavigation
  • Ensure loaders are triggered on navigation
  • Provide feedback during navigation transitions
  • Avoid direct URL manipulation

Performance

  • Lazy-load routes, loaders, and components
  • Control revalidation with shouldRevalidate
  • Use Suspense for efficient loading states
  • Optimize loader data fetching with caching
  • Avoid unnecessary loader calls
  • Profile navigation performance

Error Handling

  • Define error boundaries in routes
  • Use useRouteError for error access
  • Display user-friendly error messages
  • Implement fallback UI for errors
  • Handle loader and action errors gracefully
  • Log errors for debugging

Read the full file on GitHub · 71 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 71 lines · 484 tokens per session scan A f17d9965d622

Subscribe to this mod's changes

react-router-data is a cursor rule published in the GitHub repository chand1012/cursorrules (13 stars, last pushed 9mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 484 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.