【问题标题】:Can't Correctly Import Switch and Route from react-router-dom无法从 react-router-dom 正确导入 Switch 和 Route
【发布时间】:2020-06-14 10:41:55
【问题描述】:

我刚刚安装了react-router-dom,现在我正在尝试写这一行。

import {BrowserRouter as Router, Link, Switch, Route} from 'react-router-dom';

BrowserRouterLink 导入成功。但是,我在导入 SwitchRoute 时遇到问题。这些没有被导入。仅供参考,我已经安装了最新版本的react-router-dom,即 5.2.0。 我在 WebStorm 中遇到了这个问题。在 VS Code 中,它可以正常工作

【问题讨论】:

  • 当你说“它们没有被导入”时,你怎么知道?
  • 实际上,当我将鼠标悬停在 Switch 上时,WebStorm 说,无法解析符号“Switch”。路线也是如此。但是,当我编写完整的代码并执行时,它起作用了。但是,由于 WeBStorm 无法找到它们的代码参考,我认为它没有被导入。
  • 那么这个问题解决了吗?如果没有问题,您应该写一个答案或删除问题
  • 我也有同样的问题,你找到解决方案了吗@MuhammadMuaaz ?

标签: reactjs react-router react-router-dom javassist


【解决方案1】:

重新安装路由器包,如下:

npm install --save react-router react-router-dom

它现在应该被 WebStorm 识别。 问题是你没有正确安装 react-router。

【讨论】:

    【解决方案2】:

    刚刚遇到同样的问题。 BrowserRouter 可以正常导入,但无法识别 Switch 和 Route。问题是因为运行 npm install react-router-dom 并没有安装这些模块可能位于的 react-router 的依赖项。

    cesar__ 的回答解决了这个问题:

    npm install --save react-router react-router-dom
    

    【讨论】:

      【解决方案3】:

      与 5.2.0 无关,但考虑到 v5 文档是您在搜索引擎中找到的第一件事,其他人可能也会像我一样登陆这里。因此,较新的版本没有 Switch 组件,如果您没有注意到您找到的文档是针对旧版本的,则会造成混乱。因此,如果是这种情况,您应该使用 Routes 组件而不是 Switch,并在网上明确搜索 v6 文档。

      【讨论】:

        猜你喜欢
        • 2021-01-28
        • 1970-01-01
        • 2020-11-17
        • 2023-01-17
        • 1970-01-01
        • 2018-12-26
        • 2022-01-12
        • 1970-01-01
        • 2022-01-21
        相关资源
        最近更新 更多