我想为hypernova-react编写一些类型,但不幸的是它在客户端和服务器上有不同的类型签名。对于客户端,类型为:
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;
我该如何处理?我在 typescript 文档中看不到任何用于检查是否window
在类型保护中定义的内容。