Возможно ли создать универсальную функцию Components?
Я предполагал, что что-то вроде следующего примера сделало бы уловку:
type MyComponentProps<T> = T & {
component: ComponentType<T>,
primary?: boolean,
size?: 'S' | 'M' | 'L'
}
const MyComponent: ComponentType<MyComponentProps<T>> = ({ component, size, primary,...rest }) => {
/* ... */
}
... но не
Когда вы объявляете компонент как функцию и пропускаете объявление React.ComponentType, объявление выглядит нормально:
function MyComponent<T>({ size, primary, component, ...rest }: MyComponentProps<T>) {
/* ... */
}
Но пишу Компонент примерно так, TSX (я использую последнее приложение create-Reaction-app) больше не распознает его как Компонент, потому что в нем отсутствует объявление React.ComponentType, которое я принимаю.