У меня есть компонент, обрабатывающий маршрутизацию, и я использую свойства реакции-маршрутизатора: «история, совпадение, местоположение».Я сопоставил свой функциональный компонент как получение IRoute
в качестве реквизита и объединил его с RouteComponentProps, чтобы получить доступ к «истории, совпадению, местоположению»;
const PrivateRoute: FC<IRoute & RouteComponentProps> = ({ component: Component, roles, isAuthenticated, user, ...rest }) => (
);
Это мой код маршрута.
const routes: IRoute[] = [
{
path : '/',
exact : true,
auth : false,
component: Home
},
]
И это мой код интерфейса.
export interface IRoute extends RouteComponentProps {
path : string;
exact : boolean;
auth : boolean;
component: React.ElementType;
roles ?: string[];
}
При попытке инициализировать мой компонент PrivateRoute, я получаю в своем терминале:
TS2739: Type '{ path: string; exact: boolean; auth: boolean; component: ElementType<any>; roles?: string[] | undefined; key: number; }' is missing the following properties from type 'Readonly<Pick<IRoute & IAuthState & RouteComponentProps<{}, StaticContext, any>, "path" | "location" | "history" | "match" | "staticContext" | "component" | "exact" | "auth" | "roles">>': location, history, match
Я новичок в машинописи, так что есликто-нибудь может объяснить мне, что я делаю неправильно, это было бы очень признательно.Спасибо за ваше время!