Значения типов относятся к v6 даже при использовании v5

#reactjs #react-router #react-router-dom

Вопрос:

Я использую v5 от react-router-dom.

 npm ls --depth=0 | grep 'react-router-dom' ├── @types/react-router-dom@5.3.2 ├── react-router-dom@5.3.0  

Однако я получаю ошибку, например, определение типа относится к v6.

 Type '{ exact: true; path: string; component: FClt;{}gt;; }' is not assignable to type 'IntrinsicAttributes amp; (PathRouteProps | LayoutRouteProps | IndexRouteProps)'.  Property 'exact' does not exist on type 'IntrinsicAttributes amp; (PathRouteProps | LayoutRouteProps | IndexRouteProps)'. TS2322   93 | lt;/Headergt;  94 | lt;ContentBodygt;  gt; 95 | lt;Route exact path="/" component={TopPage} /gt;  | ^  96 | lt;/ContentBodygt;  97 | lt;/Contentgt;  98 | lt;/Containergt;  

Я хотел бы знать, как избежать этого без обновления до версии 6.

Ответ №1:

Недавно у меня была такая же проблема, в моем случае я побежал: npm list react-router проверить, где он был установлен. Оказалось, что он был установлен в другой зависимости с использованием сборника рассказов, зависящего от версии 6.1.1. Я исправил проблему, установив версию маршрутизатора react самостоятельно: npm install react-router@5.2.0 --save