Skip to main content
React Router framework mode is the setup created by fimo init. The application owns its route modules and rendering choices; Fimo connects content, labels, Studio navigation, and hosting. Install the runtime packages together. Keep all four on the same Fimo release:

Configure the runtime

Set the production profile:
The supported client-rendered setup uses React Router’s native build with Fimo’s provider-neutral hosting preset:
Fimo does not currently provide a React Router SSR adapter. Do not change an existing SSR project to ssr: false merely to add Fimo.

Connect the application

Use FimoProviders from fimo-react-router around the existing application. It supplies labels, editing context, and a React Query fallback. Keep an application-owned React Query provider above it when the project already has one. FimoProviders also owns the optional Studio preview runtime. Application code does not read Fimo preview environment variables or inject a preview script. FimoScripts in the document shell remains responsible only for JSON-LD and the development error overlay. Application code renders tracked values with components from fimo-react:
The public runtime accepts React 18.2 and React 19. Install only the optional third-party peers used by the application: React, React DOM, React Router, Vite, and React Query.

Routes, locales, and SEO

A route that owns its locale segment registers it directly. React Router spells the omittable segment :locale?, which is the same segment .fimo/config.json spells :locale:
Use a small application-owned boundary to hand the active locale to Fimo. Move the root FimoProviders wrapper into this boundary rather than nesting two providers:
/pricing and /blog/hello use the configured default. /es/pricing and /es/blog/hola pass es. Keep the application responsible for validating supported locale parameters, redirects, links, document language, and SEO. <FimoLink> remains available when its locale-preserving behavior matches the application. Route meta exports remain responsible for SEO. The optional .fimo/config.json#routes catalog helps Studio navigate semantic pages. It does not replace src/routes.ts or generate production rewrites.

Labels and locales

Configure supported locales and keep the application’s URL policy.