'X' components don't accept text as child elements. Text in JSX has the type ...
Production Risk
Build will fail; resolve before shipping.
A type-checking error (TS2747): 'X' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of 'X' is 'X'.. This diagnostic is emitted by the TypeScript compiler when 'X' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of 'X' is 'X'..
- 1JSX syntax used without enabling '--jsx' compiler option
- 2Missing React or JSX runtime import
TypeScript compiler reports TS2747 during type checking.
// Triggers TS2747 // 'X' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of 'X' is 'X'.
expected output
error TS2747: 'X' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of 'X' is 'X'.
Fix
Enable JSX in tsconfig.json
WHEN Using JSX syntax in TypeScript files
// 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.
TypeScript Compiler Diagnostics
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev