@PantyDev

Как получить общий интерфейс из объединения React.FC?

Как получить общий интерфейс из объединения React.FC<T>?
Мне нужно получить

IMainBanner | IAbout | IBrands и т. д.

вместо

FC<IMainBanner> | FC<IAbout> | FC<IBrands> и т. д.

image.png?ex=657225a2&is=655fb0a2&hm=b4dfac753f3e62b86090047b4cbef7e58194d5b61f7de1be40af48cc30ad0489&
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
@PantyDev Автор вопроса
import { FC } from 'react'

type ExtractFromFC<T> = T extends FC<infer X> ? X : never

type Foo = FC<42> | FC<'hello'> | FC<true>
type Result = ExtractFromFC<Foo>
//   ^?

Решение для тех кто тоже мог интересоваться. Нужно юзать infer. Закрываем! Спасибо
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Alexandroppolus
@Alexandroppolus
кодир
import { ComponentProps, FC } from 'react';

type Foo = FC<42> | FC<'hello'> | FC<true>;
type Result = ComponentProps<Foo>;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы