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

Is this page useful?

On this page

  • Overview
  • Reference
  • panicThreshold
  • Usage
  • Production configuration (recommended)
  • Development debugging

    react@19.2

  • Overview
  • 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
  • المكونات
    • 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
  • Rules of React

  • Overview
    • Components and Hooks must be pure
    • React calls Components and Hooks
    • Rules of 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 Reference
Configuration

panicThreshold

The panicThreshold option controls how the React Compiler handles errors during compilation.

{ panicThreshold: 'none' // Recommended }

  • Reference
    • panicThreshold
  • Usage
    • Production configuration (recommended)
    • Development debugging

Reference

panicThreshold

Determines whether compilation errors should fail the build or skip optimization.

Type

'none' | 'critical_errors' | 'all_errors'

Default value

'none'

Options

  • 'none' (default, recommended): Skip components that can’t be compiled and continue building
  • 'critical_errors': Fail the build only on critical compiler errors
  • 'all_errors': Fail the build on any compiler diagnostic

Caveats

  • Production builds should always use 'none'
  • Build failures prevent your application from building
  • The compiler automatically detects and skips problematic code with 'none'
  • Higher thresholds are only useful during development for debugging

Usage

Production configuration (recommended)

For production builds, always use 'none'. This is the default value:

{ panicThreshold: 'none' }

This ensures:

  • Your build never fails due to compiler issues
  • Components that can’t be optimized run normally
  • Maximum components get optimized
  • Stable production deployments

Development debugging

Temporarily use stricter thresholds to find issues:

const isDevelopment = process.env.NODE_ENV === 'development'; { panicThreshold: isDevelopment ? 'critical_errors' : 'none', logger: { logEvent(filename, event) { if (isDevelopment && event.kind === 'CompileError') { // ... } } } }

Previouslogger
Nexttarget

Copyright © Meta Platforms, Inc
no uwu plz
uwu?
Logo by@sawaratsuki1004
Learn React
Quick Start
Installation
Describing the UI
Adding Interactivity
Managing State
Escape Hatches
API Reference
React APIs
React DOM APIs
Community
Code of Conduct
Meet the Team
Docs Contributors
Acknowledgements
More
Blog
React Native
Privacy
Terms
{
panicThreshold: 'none' // Recommended
}
'none' | 'critical_errors' | 'all_errors'
{
panicThreshold: 'none'
}
const isDevelopment = process.env.NODE_ENV === 'development';

{
panicThreshold: isDevelopment ? 'critical_errors' : 'none',
logger: {
logEvent(filename, event) {
if (isDevelopment && event.kind === 'CompileError') {
// ...
}
}
}
}