logo by @sawaratsuki1004
React
v19.2
Learn
Reference
Community
Blog

Is this page useful?

في هذه الصفحة

  • Overview
  • Compilation Control
  • Version Compatibility
  • Error Handling
  • Debugging
  • Feature Flags
  • Common Configuration Patterns
  • Default configuration
  • React 17/18 projects
  • Incremental adoption

    react@19.2

  • نظرة عامة
  • Hooks
    • useActionState
    • useCallback
    • useContext
    • useDebugValue
    • useDeferredValue
    • useEffect
    • useEffectEvent
    • useId
    • useImperativeHandle
    • useInsertionEffect
    • useLayoutEffect
    • useMemo
    • useOptimistic
    • useReducer
    • useRef
    • useState
    • useSyncExternalStore
    • useTransition
  • المكونات
    • <Fragment> (<>)
    • <Profiler>
    • <StrictMode>
    • <Suspense>
    • <Activity>
    • <ViewTransition> - This feature is available in the latest Canary version of React
  • APIs
    • act
    • addTransitionType - This feature is available in the latest Canary version of React
    • cache
    • cacheSignal
    • captureOwnerStack
    • createContext
    • lazy
    • memo
    • startTransition
    • use
    • experimental_taintObjectReference - This feature is available in the latest Experimental version of React
    • experimental_taintUniqueValue - This feature is available in the latest Experimental version of React
  • react-dom@19.2

  • Hooks
    • useFormStatus
  • المكونات (Components)
    • Common (e.g. <div>)
    • <form>
    • <input>
    • <option>
    • <progress>
    • <select>
    • <textarea>
    • <link>
    • <meta>
    • <script>
    • <style>
    • <title>
  • APIs
    • createPortal
    • flushSync
    • preconnect
    • prefetchDNS
    • preinit
    • preinitModule
    • preload
    • preloadModule
  • Client APIs
    • createRoot
    • hydrateRoot
  • Server APIs
    • renderToPipeableStream
    • renderToReadableStream
    • renderToStaticMarkup
    • renderToString
    • resume
    • resumeToPipeableStream
  • Static APIs
    • prerender
    • prerenderToNodeStream
    • resumeAndPrerender
    • resumeAndPrerenderToNodeStream
  • React Compiler

  • الإعدادات (Configuration)
    • compilationMode
    • gating
    • logger
    • panicThreshold
    • target
  • Directives
    • "use memo"
    • "use no memo"
  • تصريف المكتبات (Compiling Libraries)
  • React DevTools

  • React Performance tracks
  • eslint-plugin-react-hooks

  • Lints
    • exhaustive-deps
    • rules-of-hooks
    • component-hook-factories
    • config
    • error-boundaries
    • gating
    • globals
    • immutability
    • incompatible-library
    • preserve-manual-memoization
    • purity
    • refs
    • set-state-in-effect
    • set-state-in-render
    • static-components
    • unsupported-syntax
    • use-memo
  • قواعد React (Rules of React)

  • نظرة عامة (Overview)
    • Components و Hooks يجب أن تكون Pure
    • React تستدعي Components و Hooks
    • قواعد Hooks
  • React Server Components

  • Server Components
  • Server Functions
  • Directives
    • 'use client'
    • 'use server'
  • Legacy APIs

  • Legacy React APIs
    • Children
    • cloneElement
    • Component
    • createElement
    • createRef
    • forwardRef
    • isValidElement
    • PureComponent
مرجع API

Configuration

This page lists all configuration options available in React Compiler.

ملاحظة

For most apps, the default options should work out of the box. If you have a special need, you can use these advanced options.

// babel.config.js module.exports = { plugins: [ [ 'babel-plugin-react-compiler', { // compiler options } ] ] };


Compilation Control

These options control what the compiler optimizes and how it selects components and hooks to compile.

  • compilationMode controls the strategy for selecting functions to compile (e.g., all functions, only annotated ones, or intelligent detection).

{ compilationMode: 'annotation' // Only compile "use memo" functions }


Version Compatibility

React version configuration ensures the compiler generates code compatible with your React version.

target specifies which React version you’re using (17, 18, or 19).

// For React 18 projects { target: '18' // Also requires react-compiler-runtime package }


Error Handling

These options control how the compiler responds to code that doesn’t follow the Rules of React.

panicThreshold determines whether to fail the build or skip problematic components.

// Recommended for production { panicThreshold: 'none' // Skip components with errors instead of failing the build }


Debugging

Logging and analysis options help you understand what the compiler is doing.

logger provides custom logging for compilation events.

{ logger: { logEvent(filename, event) { if (event.kind === 'CompileSuccess') { console.log('Compiled:', filename); } } } }


Feature Flags

Conditional compilation lets you control when optimized code is used.

gating enables runtime feature flags for A/B testing or gradual rollouts.

{ gating: { source: 'my-feature-flags', importSpecifierName: 'isCompilerEnabled' } }


Common Configuration Patterns

Default configuration

For most React 19 applications, the compiler works without configuration:

// babel.config.js module.exports = { plugins: [ 'babel-plugin-react-compiler' ] };

React 17/18 projects

Older React versions need the runtime package and target configuration:

npm install react-compiler-runtime@latest

{ target: '18' // or '17' }

Incremental adoption

Start with specific directories and expand gradually:

{ compilationMode: 'annotation' // Only compile "use memo" functions }

التاليcompilationMode

Copyright © Meta Platforms, Inc
no uwu plz
uwu?
Logo by@sawaratsuki1004
تعلم React
بداية سريعة
التثبيت
وصف واجهة المستخدم (UI)
إضافة التفاعلية
إدارة State
مخارج الطوارئ
مرجع API
React APIs
React DOM APIs
المجتمع
ميثاق السلوك
تعرف على الفريق
المساهمون في التوثيق
شكر وتقدير
المزيد
المدونة
React Native
الخصوصية
الشروط
// babel.config.js
module.exports = {
plugins: [
[
'babel-plugin-react-compiler', {
// compiler options
}
]
]
};
{
compilationMode: 'annotation' // Only compile "use memo" functions
}
// For React 18 projects
{
target: '18' // Also requires react-compiler-runtime package
}
// Recommended for production
{
panicThreshold: 'none' // Skip components with errors instead of failing the build
}
{
logger: {
logEvent(filename, event) {
if (event.kind === 'CompileSuccess') {
console.log('Compiled:', filename);
}
}
}
}
{
gating: {
source: 'my-feature-flags',
importSpecifierName: 'isCompilerEnabled'
}
}
// babel.config.js
module.exports = {
plugins: [
'babel-plugin-react-compiler'
]
};
npm install react-compiler-runtime@latest
{
target: '18' // or '17'
}
{
compilationMode: 'annotation' // Only compile "use memo" functions
}