React Native Glossary
40 terms that come up when you build, ship and debug a React Native app.
The React Native glossary is a plain-English reference to the 40 words you meet in React Native tutorials, release notes and pull requests — from JSX and Flexbox to the New Architecture, Fabric and TurboModules. Every entry is written for someone new to the ecosystem: what the term means, why it exists, and the mistake it usually causes.
New here? Start with Expo, Core Components and Metro, then read Legacy vs New Architecture to understand why older tutorials describe React Native differently.
A
- Animated Component
An animated component is a React Native view whose style values are driven by an animation library — Reanimated or the built-in Animated API — rather than by plain state.
Also called Animated.View, Animated API
B
- Bridge
The bridge was React Native’s original asynchronous, JSON-serialised channel between JavaScript and native code. The New Architecture replaces it with JSI.
Also called Legacy bridge, React Native bridge
C
- Codegen
Codegen generates the native C++, Java and Objective-C binding code for TurboModules and Fabric components from TypeScript spec files, at build time.
- Communication Layer
The communication layer is everything that lets JavaScript talk to native platform code — historically the bridge, and today JSI, TurboModules and Codegen.
- Continuous Native Generation
Continuous Native Generation (CNG) regenerates the ios and android folders from app config and config plugins, so native projects are build artefacts rather than hand-edited source.
- Core Components
Core components are the built-in building blocks React Native ships with — View, Text, Image, ScrollView, TextInput — each backed by a real native view on iOS and Android.
Also called Code generation
Also called JS-native interop
Also called CNG, Prebuild, Config plugin
Also called Built-in components
D
- Dev Menu
The dev menu is the in-app debugging panel available in development builds, offering reload, the element inspector, performance monitor and debugger connection.
- Development Build
A development build is a debug build of your own app containing your native dependencies plus the Expo dev client, so you can load JavaScript from Metro and use any native library.
Also called Developer menu
Also called Dev client, expo-dev-client
E
- EAS
EAS (Expo Application Services) is Expo’s hosted cloud service for building, submitting and updating React Native apps without maintaining your own Xcode and Gradle infrastructure.
- Expo
Expo is a framework and toolchain built on React Native. It supplies routing, native modules, build services and updates so teams do not assemble that stack themselves.
- Expo Router
Expo Router is a file-based routing library for React Native. Files in the app directory become routes, with deep links and typed navigation derived automatically.
Also called Expo Application Services, EAS Build, EAS Submit
Also called Expo SDK
Also called File-based routing
F
- Fabric Renderer
Fabric is React Native’s rendering system. It builds the view tree in C++ and mounts real native views, replacing the legacy Paper renderer.
- Fast Refresh
Fast Refresh reloads edited React components in a running app within a second, preserving component state where it safely can.
- FlatList
FlatList is React Native’s virtualised list component. It renders only the rows near the viewport, keeping memory flat no matter how long the data is.
- Flexbox
Flexbox is the layout system React Native uses for every view. It matches CSS Flexbox closely, with a column default direction and a few React Native specific differences.
Also called Fabric
Also called Hot reload, Live reload
Also called Virtualised list, FlashList
Also called Flex layout
H
- Hermes
Hermes is the JavaScript engine Meta built for React Native. Default since version 0.70, it precompiles code to bytecode for faster startup and lower memory use.
- Host Platform
The host platform is the operating system embedding React Native — iOS, Android, macOS, Windows, tvOS or the web — and the source of the real views your components render to.
Also called Hermes engine
Also called Platform, Host
J
- JavaScript Bundle
The JavaScript bundle is the single file Metro produces from your source code. It ships inside the app binary and is what the JavaScript engine actually executes.
- JavaScript Runtime
The JavaScript runtime is the engine that executes your app’s JavaScript on the device. React Native ships Hermes by default, with JavaScriptCore as the alternative.
- JavaScript Thread
The JavaScript thread is where your React components, business logic and event handlers run. Blocking it makes the app feel frozen even though native rendering continues.
- JSI
JSI (JavaScript Interface) is a lightweight C++ API that lets JavaScript hold direct references to native objects and call them synchronously, replacing the bridge.
- JSX
JSX is a syntax extension for JavaScript that lets you write UI markup directly inside component code. React Native compiles it to plain function calls.
Also called JS bundle, Bundle
Also called JS engine, JavaScript engine
Also called JS thread
Also called JavaScript Interface
Also called JavaScript XML
K
- Keys
A key is a stable identifier you give each item in a rendered list so React can tell which item is which across renders instead of re-creating them all.
Also called key prop
L
- Legacy vs New Architecture
The New Architecture replaces the asynchronous bridge with JSI, Fabric and TurboModules. It has been the default since React Native 0.76.
Also called New Architecture, Old Architecture, Paper, Bridgeless
M
- Metro
Metro is React Native’s JavaScript bundler. It resolves imports, transforms code, serves the bundle to the app in development and powers Fast Refresh.
Also called Metro bundler
N
- Native Module
A native module is platform code — Swift, Kotlin, Objective-C, Java or C++ — exposed to JavaScript, letting an app reach APIs React Native does not wrap itself.
Also called Native modules
O
- Over-the-Air Update
An over-the-air update ships new JavaScript and assets straight to installed apps, skipping app store review. Native code changes still require a new store build.
Also called OTA update, EAS Update, CodePush, Hot update
P
- Platform-Specific Code
Platform-specific code lets one codebase behave differently per platform, through the Platform module or file extensions such as Button.ios.tsx that Metro resolves automatically.
- Props and State
Props are the read-only inputs a component receives from its parent. State is the data a component owns and can change, triggering a re-render.
Also called Platform module, Platform.select
Also called Properties, useState
R
- React Elements
A React element is a lightweight plain-object description of what should appear on screen. React compares elements between renders to work out the smallest native update.
- React Navigation
React Navigation is the standard navigation library for React Native, providing stack, tab and drawer navigators built on native primitives.
- Reanimated
Reanimated is the standard React Native animation library. It runs animation logic as worklets on the UI thread, so motion stays smooth while JavaScript is busy.
- Refs
A ref is an escape hatch that holds a mutable value or points at a native component instance, letting you call imperative methods without triggering a re-render.
Also called Elements, Virtual DOM node
Also called react-navigation
Also called react-native-reanimated
Also called useRef, Reference
S
- Safe Area
The safe area is the part of the screen not covered by the notch, status bar, home indicator or rounded corners. Content must be inset to stay usable.
- StyleSheet
StyleSheet is React Native’s API for defining styles as JavaScript objects. Styles are plain objects with camelCase properties, not CSS files.
Also called SafeAreaView, Insets, Notch
Also called StyleSheet.create, Styling
T
- TurboModules
TurboModules are the New Architecture’s native modules. They are typed by Codegen, built on JSI, and loaded lazily so startup only pays for what the app actually uses.
Also called Turbo Modules, TurboModule
U
- UI Thread (Main Thread)
The UI thread is the platform thread that measures, lays out and draws native views. Everything the user sees is painted here, at 60 or 120 frames per second.
Also called Main thread, Native UI thread
V
- View Component
View is the most basic layout container in React Native — the equivalent of a div on the web, a UIView on iOS and an android.view on Android.
Also called View
W
- Worklet
A worklet is a small JavaScript function marked to run on the UI thread instead of the JavaScript thread, so animations and gestures stay smooth while JS is busy.
Also called Worklets
Y
- Yoga
Yoga is the cross-platform C++ layout engine React Native uses to implement Flexbox, producing identical layout results on iOS and Android.
Also called Yoga layout engine
React Native jargon, answered
- What is React Native in one sentence?
React Native is an open-source framework from Meta for building iOS and Android apps with React. You write components in JavaScript or TypeScript, and React Native renders them as real native views — a
<View>becomes aUIViewon iOS and aViewGroupon Android — rather than drawing them in a web view.- What is the difference between React Native and Expo?
React Native is the renderer and the bridge to native code. Expo is a framework on top of it that adds routing, a library of vetted native modules, cloud builds and over-the-air updates. The React Native docs now recommend starting new apps with a framework, and
npx create-expo-appis the usual entry point.- What is the New Architecture, and do I need to care?
The New Architecture replaced the asynchronous bridge with JSI, the Fabric renderer and TurboModules. It became the default in React Native 0.76 in October 2024. New apps get it automatically — the reason to care is that tutorials written before then describe bridge behaviour that no longer applies.
- Why does my app need a rebuild sometimes but not others?
Anything inside the JavaScript bundle — components, logic, styles — reloads instantly with Fast Refresh and can even ship as an over-the-air update. Anything outside it — adding a native module, changing permissions, upgrading React Native — changes the binary and needs a new build.
- Which terms should a React Native beginner learn first?
Start with the ones you meet on day one: Core Components, JSX, Props and State, Flexbox and StyleSheet. Then the toolchain — Expo, Metro and Development Build — which is where most setup confusion comes from.
- Is this glossary free to use?
Yes. Every definition is a public page with no signup, maintained by the React Native team at weshipit.today. If a term is missing or a definition has aged badly, the site is open source on GitHub.