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

Also called Animated.View, Animated API

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.

B

Bridge

Also called Legacy bridge, React Native bridge

The bridge was React Native’s original asynchronous, JSON-serialised channel between JavaScript and native code. The New Architecture replaces it with JSI.

C

Codegen

Also called Code generation

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

Also called JS-native interop

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

Also called CNG, Prebuild, Config plugin

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

Also called Built-in 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.

D

Dev Menu

Also called Developer 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

Also called Dev client, expo-dev-client

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.

E

EAS

Also called Expo Application Services, EAS Build, EAS Submit

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

Also called Expo SDK

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

Also called File-based routing

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.

F

Fabric Renderer

Also called Fabric

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

Also called Hot reload, Live reload

Fast Refresh reloads edited React components in a running app within a second, preserving component state where it safely can.

FlatList

Also called Virtualised list, FlashList

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

Also called Flex layout

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.

H

Hermes

Also called Hermes engine

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

Also called Platform, Host

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.

J

JavaScript Bundle

Also called JS bundle, 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

Also called JS engine, JavaScript engine

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

Also called JS 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

Also called JavaScript Interface

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

Also called JavaScript XML

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.

K

Keys

Also called key prop

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.

L

Legacy vs New Architecture

Also called New Architecture, Old Architecture, Paper, Bridgeless

The New Architecture replaces the asynchronous bridge with JSI, Fabric and TurboModules. It has been the default since React Native 0.76.

M

Metro

Also called Metro bundler

Metro is React Native’s JavaScript bundler. It resolves imports, transforms code, serves the bundle to the app in development and powers Fast Refresh.

N

Native Module

Also called Native modules

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.

O

Over-the-Air Update

Also called OTA update, EAS Update, CodePush, Hot 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.

P

Platform-Specific Code

Also called Platform module, Platform.select

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

Also called Properties, useState

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.

R

React Elements

Also called Elements, Virtual DOM node

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

Also called react-navigation

React Navigation is the standard navigation library for React Native, providing stack, tab and drawer navigators built on native primitives.

Reanimated

Also called react-native-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

Also called useRef, Reference

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.

S

Safe Area

Also called SafeAreaView, Insets, Notch

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

Also called StyleSheet.create, Styling

StyleSheet is React Native’s API for defining styles as JavaScript objects. Styles are plain objects with camelCase properties, not CSS files.

T

TurboModules

Also called Turbo Modules, TurboModule

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.

U

UI Thread (Main Thread)

Also called Main thread, Native UI 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.

V

View Component

Also called View

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.

W

Worklet

Also called Worklets

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.

Y

Yoga

Also called Yoga layout engine

Yoga is the cross-platform C++ layout engine React Native uses to implement Flexbox, producing identical layout results on iOS and Android.

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 a UIView on iOS and a ViewGroup on 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-app is 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.