【发布时间】:2022-11-14 13:47:16
【问题描述】:
我在打字稿中创建私有路由时遇到这样的错误有人可以帮忙吗? 输入'{精确:真;渲染:(routerProps:RouterProps)=>元素; }' 不可分配给类型 'IntrinsicAttributes & RouteProps'。 类型“IntrinsicAttributes & RouteProps”上不存在属性“exact”。
import React, { Suspense } from "react";
import { Route, Routes, RouterProps, useLocation, Navigate } from "react-router-dom";
interface RenderRouteProps extends RouterProps {}
const RenderRoute: React.FC<CustomRoute> = props => {
const { component } = props;
const Component: React.ComponentType<RenderRouteProps> = component!
return (
<Route exact render={(routerProps: RouterProps) => <Component {...routerProps} {...props} />}/>
);
};
const PrivateRoute = (props: PrivateRouteProps & {redirectPath?: RouteRedirectProps, animate?: boolean}) => {
const location = useLocation();
const { appRoutes, redirectPath } = props;
return (
<Suspense>
<Routes location={location}>
{appRoutes.map((route, index) => (
<RenderRoute key={index} {...route} />
))}
{redirectPath?.length && redirectPath.map((path, index) => (
path && <Navigate to={path.to} key={index} />
))}
</Routes>
</Suspense>
)
};
export default PrivateRoute;
【问题讨论】:
标签: javascript reactjs typescript