# JSXElementConstructor

```ts
type JSXElementConstructor<P> = 
  | ((props) => 
  | ReactNode
  | Promise<ReactNode>)
  | ((props, context) => Component<any, any>);
```

Defined in: node\_modules/@types/react/index.d.ts:134

Represents any user-defined component, either as a function or a class.

Similar to ComponentType, but without extra properties like
FunctionComponent.defaultProps defaultProps.

## Type Parameters

| Type Parameter | Description |
| ------ | ------ |
| `P` | The props the component accepts. |