Я использую React (16.12.0) с PhpStorm (2019.3.1).
Импортируемый мной пакет - response-router-dom (5.1.2)
Я буду напишите следующий импорт:
import { NavLink, Switch } from "react-router-dom";
Оба пакета правильно импортируются webpack / babel, и страница корректно отображается, когда я использую Switch и NavLink.
Однако чисто с точки зрения IDE, Я получаю предупреждение о Switch: Cannot resolve symbol 'Switch'
Это странно, потому что оно явно есть, и я проверил /node_modules/react-router-dom
и Switch.js
там.
Странно в предыдущих версиях PhpStorm (до нескольких обновлений, импорта плагинов и других изменений), импорт Switch был точно найден PhpStorm.
Я недавно не обновлял response-router-dom и использую его последнюю стабильную сборку.
Есть идеи, почему может отсутствовать Switch?
РЕДАКТИРОВАТЬ: Я понял, что это может быть связано с тем, что PhpStorm не удается импортировать общий JS модуль.
Я пытался изменить компиляцию Javascript Метод с React JSX на ECMA 6. Это не сработало.
Я также попытался импортировать некоторые библиотеки сборки дляact-router-dom, и это сработало для странного распознавания импорта Route
, но не Switch
.
Я также пытался сделать недействительным кеш PhpStorm и перезапустить приложение, но это тоже не сработало.
РЕДАКТИРОВАТЬ 2: В ответ я пытался использовать option + enter (alt + enter на windows), пока мой курсор находится в пределах react-router-dom
, чтобы попытаться установить пакет машинописного текста, но я не получаю того же действия, как показано на веб-сайте JetBrains: https://www.jetbrains.com/help/webstorm/configuring-javascript-libraries.html
Все, что он предлагает - это переключать одинарные кавычки в двойные.
Также я уже установил @ типы / реагируют-маршрутизатор-DOM. Возможно, есть еще один, который мне не хватает?
РЕДАКТИРОВАТЬ 3: Правильный ответ был установить @types/react-router
. По некоторым причинам @types/react-router-dom
обманчиво НЕ то, что решает это.