我有一个简单的 withAuth HOC。我正在尝试定义props的类型。
const withAuth = (Component: typeof React.Component) => (role: string) => {
return (props) => {
const { data, loading } = useGetUser();
if (loading) {
return <p>Loading...</p>;
}
if (!data) {
return <Redirect ssr to="/api/v1/login" />;
} else {
if (role && !isAuthorized(data, role)) {
return <Redirect ssr to="/api/v1/login" />;
}
return <Component user={data} loading={loading} {...props} />;
}
};
};
我试过这个:
React.Component<T>
然后传递T
给props:T
我收到2个警告。
Component: typeof React.Component<T> // Parameter '(Missing)' implicitly has an 'any' type.
props:T // Cannot find name 'T'