Если вы посмотрите на подпись Route
..
export class Route<T extends RouteProps = RouteProps> extends React.Component<T, any> { }
, вы увидите, что это просто класс. В ответ вы говорите, что возвращаете экземпляр этого класса (то есть new Route(props)
) или null
, а не компонент этого класса (ReactNode
). Это та же идея, как если бы у вас была функция, которая возвращает React.Component
. React.ReactNode - это в основном набор допустимых возвращаемых значений для компонентов React:
type ReactNode = ReactChild | ReactFragment | ReactPortal | boolean | null | undefined;
Таким образом, чтобы ответить на ваш вопрос, вы можете заменить (Route | null)
на React.ReactNode
.