#reactjs #typescript #typescript-typings #react-typescript
Вопрос:
Я обновлял зависимости (в частности, до узла 16) и исправил несколько ошибок здесь и там. Один из них поставил меня в тупик-ошибка типа в React-маршрутизаторе.
<Route
path={`${url}/:id`}
render={(props: PageRouteProps<Partial<PageParams>>) => {
Вот ошибка TS:
Overload 1 of 2, '(props: (RouteProps<string, { [x: string]: string | undefined; }> amp; OmitNative<{}, keyof RouteProps<string, { [x: string]: string | undefined; }>>) | Readonly<RouteProps<...> amp; OmitNative<...>>): Route<...>', gave the following error.
Type '(props: PageRouteProps<Partial<PageParams>>) => JSX.Element | null' is not assignable to type '(props: RouteComponentProps<{ [x: string]: string | undefined; }, StaticContext, unknown>) => ReactNode'.
Types of parameters 'props' and 'props' are incompatible.
Type 'RouteComponentProps<{ [x: string]: string | undefined; }, StaticContext, unknown>' is not assignable to type 'PageRouteProps<Partial<PageParams>>'.
Type 'unknown' is not assignable to type 'ListLocationProps | null | undefined'.
Type 'unknown' is not assignable to type 'ListLocationProps'.
Overload 2 of 2, '(props: RouteProps<string, { [x: string]: string | undefined; }> amp; OmitNative<{}, keyof RouteProps<string, { [x: string]: string | undefined; }>>, context: any): Route<...>', gave the following error.
Type '(props: PageRouteProps<Partial<PageParams>>) => JSX.Element | null' is not assignable to type '(props: RouteComponentProps<{ [x: string]: string | undefined; }, StaticContext, unknown>) => ReactNode'.
37 render={(props: PageRouteProps<Partial<PageParams>>) => {
Параметры страниц — это:
export interface PageParams {
id: string;
}
ListLocationProps
export interface ListLocationProps {
name?: string | undefined;
}
Я относительно новичок в TS и не могу понять, что здесь происходит не так. Может кто-нибудь дать мне знать, что я должен делать?