169 похожих чатов

Привет всем, подскажите, есть ли в typescript тип, который

определяет, что у сущности может быть любой тип, но этот тип должен быть унаследован от конкретного типа?

6 ответов

9 просмотров

Прям наследование не проверяется, в ts структурная типизация Можешь точнее задачу, потому что это может быть и extends в дженерике да и просто интерфейс

instanceof

Utin-Alexey Автор вопроса

export interface CommonProps<T extends SbEditableContent> { blok: T; } export type ReactDynamicComponent<T extends SbEditableContent> = FC< CommonProps<T> >; export const Components: Record<string, ReactDynamicComponent<any>> = { commonHeader: SbHeaderComponent, commonFooter: SbFooterComponent, typographyGeneral: SbTypographyGeneral, linkItem: SbLinkItem, imageLinkItem: SbImageLinkItem, buttonLarge: SbButtonLarge, landingGetStarted: SbGetStarted, mainFeatures: SbMainFeatures, bigCarouselDiamond: SbCarousel, recognition: SbRecognition, imageWithTestimonials: SbImageWithTestimonials, expertsSpecialists: SbExpertsSpecialists, performWebHero: SbPerformWebHero, typographyRichText: SbTypographyRichText, }; Usage: const SbHeaderComponent: ReactDynamicComponent<HeaderBlok> = ({ blok }) => {return} export interface HeaderBlok extends SbEditableContent { linksBlock: string[] promotionalBlock: string[] sectionsBlock: string[] show_promotional: boolean; } export interface SbEditableContent { _uid: string _editable?: string component: string [index: string]: any } Ну задача в том, чтобы избавиться от any )

Record подразумевает одинаковый тип для всех значений по ключам. Они одинаковые?

Utin-Alexey Автор вопроса

Нет, их объединяет только то, что они наследуются от одного интерфейса. Так, я понял, что Record я пользуюсь не правильно )

ну тогда Record<string, Interface>

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

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта