Fabric
Let’s be honest—React Native’s old rendering system was held together with duct tape, good intentions, and a bridge that felt more like a traffic jam.
Fabric is the modern rendering engine introduced as part of React Native’s New Architecture. It’s not just a rewrite—it’s a realignment. A way to bring React Native rendering in sync with how React itself thinks about trees, updates, and priorities.
In the old world, React Native had its own renderer bolted onto React, sitting between the reconciliation logic and the actual UI. It was asynchronous, stateful, and—at times—mysteriously out of sync. You’d dispatch an update and then cross your fingers hoping UIManager got the memo. Sometimes it did. Sometimes your layout blinked, glitched, or arrived fashionably late.
Fabric replaces this with a renderer that’s tightly integrated with React’s core: the Fiber architecture. When React starts rendering your components, Fabric is already involved—calculating layouts, preparing views, and scheduling updates with full awareness of what’s happening in the JS layer.
It also leverages Yoga, Meta’s cross-platform layout engine, to compute flexbox layouts deterministically. That means layout calculations are now predictable, consistent across platforms, and—most importantly—synchronous. When React re-renders a component, Fabric knows its dimensions during the render pass, not after.
Fabric isn’t about shaving milliseconds off your frame time (though it often does that too). It’s about enabling the kinds of things React itself has been building toward for years:
In short: it gives React Native a proper seat at the React table. You’re no longer building a “sort-of React app” that happens to run natively. You’re building a React app that renders like React—just with native views under the hood.
You Won’t Write Fabric Code, But You’ll Feel It
Most developers won’t interact with Fabric directly. There’s no “useFabric” hook, no shiny Renderer.create() call. But you’ll feel it.
Your layouts will render sooner. Your animations will run smoother. Gesture handlers will react faster. You’ll try something janky from six months ago and realise it just… works now.
That’s Fabric. Not a feature you add, but a foundation you build on.