TS2874
TypeScriptERRORNotableTypeHIGH confidence
This JSX tag requires 'X' to be in scope, but it could not be found.
Production Risk
Build will fail; resolve before shipping.
What this means
A type-checking error (TS2874): This JSX tag requires 'X' to be in scope, but it could not be found.. This diagnostic is emitted by the TypeScript compiler when this JSX tag requires 'X' to be in scope, but it could not be found..
Why it happens
- 1JSX syntax used without enabling '--jsx' compiler option
- 2Missing React or JSX runtime import
How to reproduce
TypeScript compiler reports TS2874 during type checking.
trigger — this will error
trigger — this will error
// Triggers TS2874 // This JSX tag requires 'X' to be in scope, but it could not be found.
expected output
error TS2874: This JSX tag requires 'X' to be in scope, but it could not be found.
Fix
Enable JSX in tsconfig.json
WHEN Using JSX syntax in TypeScript files
Enable JSX in tsconfig.json
// tsconfig.json
{
"compilerOptions": {
"jsx": "react-jsx" // or "react", "preserve", etc.
}
}Why this works
The '--jsx' option tells TypeScript how to transform JSX; choose 'react-jsx' for React 17+ or 'react' for older versions.
Sources
Official documentation ↗
TypeScript Compiler Diagnostics
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev