Как я могу использовать типы свойств компонентов в качестве типов?
Я создаю карточную игру с помощью react и хочу иметь возможность использовать составной компонент следующим образом: <Card className="card" component={CustomCard} style={{x,y}} />
В "Функциональном компоненте высшего порядка" я хочу добавить класс к компоненту, передаваемому реквизитами.
Мой подход до сих пор:
interface CardProps<P> {
component: React.ComponentType<P>;
className: string;
}
const Card = <P extends {}>({
component: Component,
className,
...other
}: CardProps<P> & P): React.FC<P & CardProps<P>> => (
<Component className={classNames("Card", className)} {...other as P} />
);
Но это не работает должным образом, поэтому я могу передать любой компонент, который я хочу, с разными типами опоры.