ComponentClass

typescript ComponentClass vs Component Отличия стандартных типах React

  • React.Component служит для того чтобы быть базовым типом для вашего класса - классового компонента:
    interface Props {
        products: string[];
    }
    interface State {
        quantities: { [key: string]: number };
    }
    class MyComponent extends React.Component<Props, State> {
    //.....

    -- для использования типа React.Component в вашем коде какой-то класс должен реально наследоваться от React.Component (и в случае если вы используете typescript, его парсер должен быть способен это обнаружить)/

typescript Общий тип для функциональных и классовых компонентов React

Универсальным типом одновремено подходящим для классовых и функциональных компонентов , судя по всему, является React.ComponentType (далее его сигнатура из исходников React):

type ComponentType<P = {}>
     = ComponentClass<P> | FunctionComponent<P>;

-- подходит в т.ч. для случая когда вы получаете переменную, а потом делаете из неё JSX-элемент (добавляя к имени угловые скобки и выставляя пропсы)

Например:

Subscribe to RSS - ComponentClass