您收到该错误的原因是您将“ReactNode”接口提供给对象 ( {}: Type
)。children
本身属于 ReactNode 类型:
type PropsWithChildren<P> = P & { children?: ReactNode };
您应该为您的 PageViewTracker 提供FunctionComponent
(或其别名FC
)类型。
export const PageViewTracker: React.FC = ({ children }) => {
...
}
它具有以下界面:
interface FunctionComponent<P = {}> {
(props: PropsWithChildren<P>, context?: any): ReactElement | null;
propTypes?: WeakValidationMap<P>;
contextTypes?: ValidationMap<any>;
defaultProps?: Partial<P>;
displayName?: string;
}
所以默认情况下它接受children
类型为“ReactNode”的props。