我通过以下方式导入路线
import {Routes, Route, BrowserRouter} from 'react-router-dom'
我的包 JSON 是
"react-router-dom": "^6.0.2",
我正在使用 Pycharm。
npm list react-router-dom
返回-- [email protected]
为什么会发生这种情况?我的前端是空白的。
当我升级到 react-router-dom:6.0.2
时,对于 Intellij 中的大多数 imports,我遇到了完全相同的“
无法解析符号”问题。
正如 @DLH 所说,Jetbrains 产品是从 <system directory>/jetbrains/intellij/javascript/typings
而不是从项目的
node_modules
文件夹中读取包的类型文件。
正如 Jetbrains 的 Oksana Chumak 所说:
IDE 将一些流行库的类型下载到其配置文件夹,并使用它们来增强代码完成。
在jetbrains产品内,按两次shift打开搜索无处不在窗口,搜索registry并打开第一个结果。
在注册表中,查找 typescript.external.type.defintions.packages 键,并在该字段的 value 中,仅从值中删除react-router-dom字段。
jetbrains产品将从项目的node_modules
中读取类型文件
,而不是从其
internal typings folder
中读取。将来,它也将不会尝试下载和使用其他项目的intellij react-router-dom类型。 感谢:@Mir-Ismaili 和@unfestive Chicken 帮助完成第三步。
'react-router-dom'
进行 crtl-click 时,我发现它似乎对要注意哪个 index.ts.d 文件感到困惑。一个是按预期安装在我的项目的 node_modules 中的 6.0.2 版本。另一个位于 C:\Users[me]\AppData\Local\JetBrains\WebStorm2021.2\javascript ypings eact-router-dom .3.2 ode_modules@types eact-router-dom\index.d.ts.我刚刚从 5.3.2 重命名了后一个 JetBrains 文件,认为它现在已经过时,并且此后它按预期工作。这不是最漂亮的解决方案,而且我只能确定它以后不会找到办法咬我的屁股。但至少目前来说,它是有效的。
在您的应用栏中,按文件 -> 使缓存无效 -> 选择“清除文件系统缓存和本地历史记录” -> 单击“无效并重新启动”
node_modules
并删除该文件夹。 然后我们可以运行
npm
这将再次重新安装这些软件包。之后,我会尝试实现
Router
并查看它是否能够自行解决,即使它抱怨找不到该符号。这样的东西应该有效:
<BrowserRouter>
<Routes>
<Route path='/*' element={ <App /> } />
</Routes>
</BrowserRouter>
https://github.com/remix-run/react-router/blob/main/docs/getting-started/tutorial更改代码.md,但我仍然收到警告“无法解析符号‘路由’”,我正在使用最新版本的 Webstrom。
import React from "react";
import {BrowserRouter as Router, Routes, Route } from "react-router-dom";
import { Container } from "react-bootstrap";
import Header from "./components/Header";
import Footer from "./components/Footer";
import HomeScreen from "./screens/HomeScreen";
const App = () => {
return(
<Router>
<Header />
<main className='py-3'>
<Container>
<Routes>
<Route exact path="/" element={<HomeScreen />}/>
</Routes>
</Container>
</main>
<Footer />
</Router>
);
}
export default App;