无法解析符号 useParams

use*_*939 4 webstorm reactjs react-router react-router-dom react-hooks

我正在创建一个使用 WebStorm 做出反应的应用程序。我正在尝试使用 react-router-dom useParams。我有 react-router-dom 5.1.2 作为依赖项,但 useParams 在 import 语句中是灰色的。当我将鼠标悬停在 useParams 上时,它会显示“无法解析符号 useParams”。我也在尝试导入 Switch,但我收到了类似的消息“无法解析符号 Switch”。更不寻常的是 Link 是从 react-router-dom 导入的。

在此处输入图片说明 在此处输入图片说明在此处输入图片说明

len*_*ena 14

node_modules/react-router-dom/esm/react-router-dom.js再出口Switch, Root,useParamsreact-router。但是后者没有被列为您的直接依赖项package.json,因此被排除在索引之外。您可以通过从右键单击菜单中选择将目录标记为/不排除来取消排除它node_modules/react-router

在此处输入图片说明

但我强烈建议为包安装 Typescript 存根以获得更好的完成/类型提示:将光标放在"react-router-dom"导入语句中,点击Alt+Enter,选择安装 TypeScript 定义以获得更好的类型信息

在此处输入图片说明

https://www.jetbrains.com/help/webstorm/2019.3/configuring-javascript-libraries.html#ws_jsconfigure_libraries_ts_definition_files


twi*_*ity 5

我在2020.1遇到了同样的问题。我没有Alt+Enter安装 TypeScript 定义的选项。我必须转到“文件”>“设置”>“语言和框架”>“JavaScript”>“库下载...” @types/react-router才能使警告消失。react-router如果不是莉娜的回答,我绝不会想到下载这些类型。

在此输入图像描述

在此输入图像描述

该列表有点令人畏惧,因为乍一看,您似乎必须滚动浏览它,但是,如果您单击其中一个条目并开始输入,则会出现一个搜索框。