Как я могу использовать типы свойств компонентов в качестве типов?

Я создаю карточную игру с помощью 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} />
);

Но это не работает должным образом, поэтому я могу передать любой компонент, который я хочу, с разными типами опоры.

0 ответов

Другие вопросы по тегам