diff --git a/packages/react/src/reactrouterv6.tsx b/packages/react/src/reactrouterv6.tsx index 66282545f248..a3f298d69ffe 100644 --- a/packages/react/src/reactrouterv6.tsx +++ b/packages/react/src/reactrouterv6.tsx @@ -8,14 +8,24 @@ import React from 'react'; import { Action, Location } from './types'; -interface RouteObject { - caseSensitive?: boolean; - children?: RouteObject[]; - element?: React.ReactNode; - index?: boolean; - path?: string; +interface NonIndexRouteObject { + caseSensitive?: boolean; + children?: RouteObject[]; + element?: React.ReactNode | null; + index?: false; + path?: string; } +interface IndexRouteObject { + caseSensitive?: boolean; + children?: undefined; + element?: React.ReactNode | null; + index?: true; + path?: string; +} + +type RouteObject = IndexRouteObject | NonIndexRouteObject; + type Params = { readonly [key in Key]: string | undefined; };