React Native Best Practices

Chapter 1 · Practice 2 of 5

Treat the New Architecture as the only architecture

From Project setup and upgrades

Why it matters

Since React Native 0.82 the New Architecture is the only runtime option, and every release since has removed more legacy code. In 0.84 iOS builds exclude legacy architecture code by default, and in 0.87 the useTurboModules feature flag is gone because TurboModules are always enabled.

What this means for your app:

  • Pick libraries that support the New Architecture (Fabric components and TurboModules). An interop layer still exists, but it is a bridge for stragglers, not a target.
  • Delete any code or config that toggles the old architecture. Flags like RCTEnableTurboModule() are deprecated in 0.87.
  • When a library has not shipped New Architecture support, treat that as a signal about its maintenance, and look for an alternative.

Do

  • Check New Architecture support before adding any native library
  • Remove legacy architecture flags and constructors from native code

Avoid

  • Writing new native modules against the old bridge APIs