所以我正在尝试使用react router 4和Typescript创建一个私有路由。这是我的代码:
type PrivateRouteProps<T> = T & { component: any, authRequired: boolean };
function PrivateRoute({ component: Component, authRequired, ...rest }: PrivateRouteProps<typeof rest>) {
return (
<Route
{...rest}
render={props => authRequired === true
? <Layout><Component {...props} /></Layout>
: <Redirect to={{ pathname: '/home', state: { from: props.location } }} />}
/>
);
}
我在PrivateRoute函数中遇到了... rest arg的问题,它给出了错误:
'rest'隐式具有类型'any',因为它没有类型注释,并且在其自己的初始化程序中直接或间接引用。
我看过对象解构的打字稿文档,但我似乎无法找到解决方案
答案 0 :(得分:0)
我认为你不能typeof rest
,因为它不知道rest
是什么类型。