TS2789
TypeScriptERRORNotableTypeHIGH confidence

Its element type 'X' is not a valid JSX element.

Production Risk

Build will fail; resolve before shipping.

What this means

A type-checking error (TS2789): Its element type 'X' is not a valid JSX element.. This diagnostic is emitted by the TypeScript compiler when its element type 'X' is not a valid JSX element..

Why it happens
  1. 1JSX syntax used without enabling '--jsx' compiler option
  2. 2Missing React or JSX runtime import
How to reproduce

TypeScript compiler reports TS2789 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS2789
// Its element type 'X' is not a valid JSX element.

expected output

error TS2789: Its element type 'X' is not a valid JSX element.

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

← All TypeScript errors