Skip to content

Why Reactra?

Reactra is a compiler-first, React-19-compatible framework. You write a small, regular DSL; at build time it compiles to ordinary React 19 — React.use, useTransition, useSyncExternalStore — with zero marginal runtime cost. There is no per-component framework runtime. The router, store, resource, and DI layers are plain opt-in libraries.

Write what the screen is. The compiler writes the part where the bugs live.

A lot of React’s day-to-day friction is ceremony around async data, abort handling, effect dependency arrays, and re-render granularity. Reactra moves that ceremony into the compiler. You declare intent (resource, derived, state); the compiler emits the correct, readable React.

It’s still React — and you can prove it

Section titled “It’s still React — and you can prove it”

Every Reactra code sample in these docs ships with its compiled output right next to it. That’s not a marketing tab; it’s the actual file the compiler writes into your repo. There are no proxies, no virtual-DOM swap, no hidden runtime. Your devtools, your types, and your debugger all work on the output.

You can eject at any time: the emitted React is yours.

  • React developers who want less boilerplate around async data, stores, and fine-grained reactivity without adopting a non-React runtime.
  • Teams that value explicit, readable output over framework magic.
  • Anyone who wants built-in observability — time-travel devtools, session replay, and undo/redo — without wiring it up by hand.
  • vs plain React 19 — same output, far less boilerplate. Reactra writes the useTransition / abort / useSyncExternalStore plumbing you’d otherwise hand-roll.
  • vs Svelte / Solid — Reactra is a compiler like Svelte, but it targets React 19 itself, not a bespoke runtime. You keep the React ecosystem.
  • vs the React Compiler — complementary. The React Compiler optimizes the React you already wrote; Reactra changes what you write, then emits React the React Compiler can still optimize.

Ready? Install Reactra →