# Type alias JSXElementConstructor<P>

JSXElementConstructor<P>: ((props, deprecatedLegacyContext?) => ReactNode) | (new (props, deprecatedLegacyContext?) => Component<any, any>)

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

Similar to ComponentType, but without extra properties like defaultProps and contextTypes.

#### Type Parameters

- P

  The props the component accepts.

#### Type declaration

- - (props, deprecatedLegacyContext?): ReactNode

  - #### Parameters

    - props: P
    - `Optional` deprecatedLegacyContext: any

    #### Returns ReactNode

#### Type declaration

- - new (props, deprecatedLegacyContext?): Component<any, any>

  - #### Parameters

    - props: P
    - `Optional` deprecatedLegacyContext: any

    #### Returns Component<any, any>

- Defined in common/temp/node_modules/.pnpm/@types+react@18.3.3/node_modules/@types/react/index.d.ts:115