Я хотел бы написать несколько типов для hypernova-реаги * , но, к сожалению, на клиенте и сервере он имеет другую сигнатуру типа. Для клиента типы:
export function renderReact<C extends React.ComponentType>(name: string, component: C): C;
export function renderReactStatic(name: string, component: React.ComponentType): void;
, а на сервере они
export function renderReact<C extends React.ComponentType>(
name: string,
component: C
): (props: React.ComponentProps<C>) => string;
export function renderReactStatic<C extends React.ComponentType>(
name: string,
component: C
): (props: React.ComponentProps<C>) => string;
Как мне справиться с этим? Я ничего не вижу в документах по машинописи для проверки, определен ли window
в охране типов.