---
title: panicThreshold
---
`panicThreshold` 옵션은 React 컴파일러가 컴파일 중 오류를 처리하는 방식을 제어합니다.
```js
{
panicThreshold: 'none' // Recommended
}
```
---
## 레퍼런스 {/*reference*/}
### `panicThreshold` {/*panicthreshold*/}
컴파일 오류가 빌드를 실패시켜야 하는지 아니면 최적화를 건너뛰어야 하는지를 결정합니다.
#### 타입 {/*type*/}
```
'none' | 'critical_errors' | 'all_errors'
```
#### 기본값 {/*default-value*/}
`'none'`
#### 옵션 {/*options*/}
- **`'none'`** (기본값, 권장): 컴파일할 수 없는 컴포넌트를 건너뛰고 빌드를 계속 진행합니다.
- **`'critical_errors'`**: 치명적인 컴파일러 오류에서만 빌드를 실패시킵니다.
- **`'all_errors'`**: 모든 컴파일러 진단에서 빌드를 실패시킵니다.
#### 주의 사항 {/*caveats*/}
- 프로덕션 빌드에서는 항상 `'none'`을 사용해야 합니다.
- 빌드 실패는 애플리케이션이 빌드되지 않도록 합니다.
- 컴파일러는 `'none'`을 사용하면 문제가 있는 코드를 자동으로 감지하고 건너뜁니다.
- 더 높은 임계값은 개발 중 디버깅에만 유용합니다.
---
## 사용법 {/*usage*/}
### 프로덕션 설정 (권장) {/*production-configuration*/}
프로덕션 빌드에서는 항상 `'none'`을 사용하세요. 이것이 기본값입니다.
```js
{
panicThreshold: 'none'
}
```
이렇게 하면 다음을 보장합니다.
- 컴파일러 문제로 인해 빌드가 실패하지 않습니다.
- 최적화할 수 없는 컴포넌트도 정상적으로 실행됩니다.
- 최대한 많은 컴포넌트가 최적화됩니다.
- 안정적인 프로덕션 배포가 가능합니다.
### 개발 중 디버깅 {/*development-debugging*/}
문제를 찾기 위해 일시적으로 더 엄격한 임계값을 사용합니다.
```js
const isDevelopment = process.env.NODE_ENV === 'development';
{
panicThreshold: isDevelopment ? 'critical_errors' : 'none',
logger: {
logEvent(filename, event) {
if (isDevelopment && event.kind === 'CompileError') {
// ...
}
}
}
}
```