TS17000
TypeScriptERRORNotableTypeHIGH confidence

JSX attributes must only be assigned a non-empty 'expression'.

Production Risk

Build will fail; resolve before shipping.

What this means

A TypeScript diagnostic (TS17000): JSX attributes must only be assigned a non-empty 'expression'.. This diagnostic is emitted by the TypeScript compiler when jSX attributes must only be assigned a non-empty 'expression'..

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 TS17000 during type checking.

trigger — this will error
trigger — this will error
// Triggers TS17000
// JSX attributes must only be assigned a non-empty 'expression'.

expected output

error TS17000: JSX attributes must only be assigned a non-empty 'expression'.

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