javascript - react-router-dom 中缺少交换机和路由器模块

标签 javascript reactjs react-router react-router-dom

我的问题的标题说明了一切。我一直在尝试使用 react-router-dom 创建一个包含多个“页面”的 React 应用程序。基本上我所做的是提示“npx create-react-app”,创建一些 JS 页面文件只是为了测试这个东西并提示“npm install react-router-dom”。没有其他的。

现在,当我尝试从 react-router-dom 导入 Switch 模块时,我的 IDE(我正在使用 Jetbrains Webstorm)找不到依赖项。我已经手动检查了 node_modules 的模块文件夹中缺少的依赖项,并且依赖项确实不存在。

我已经阅读了几个关于 react-router-dom 的教程,没有人说 Switch 被弃用或类似的东西,所以情况并非如此。

我不知道是否有任何其他信息会有所帮助,但如果我可以提供更多信息,请随时指出。任何帮助,将不胜感激。

我的 package.json 看起来像这样:

{
  "name": "react-router-test",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.5.0",
    "@testing-library/user-event": "^7.2.1",
    "react": "^16.13.1",
    "react-dom": "^16.13.1",
    "react-router-dom": "^5.1.2",
    "react-scripts": "3.4.1"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

最佳答案

将您的 react-router-dom v5 更新为 v6 并替换:

<Switch>
   <Route path={`${match.path}/me`}>
      <OwnUserProfile />
    </Route>
     <Route path={`${match.path}/:id`}>
        <UserProfile />
      </Route>
 </Switch>

在 V6 中同样的例子
<Routes>
   <Route path="/" element={<Home />} />
   <Route path="users/*" element={<Users />} />
 </Routes>
请参阅 react-routers 中的升级文档

关于javascript - react-router-dom 中缺少交换机和路由器模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61165999/

相关文章:

javascript - 带有 JSON 对象的 ES6 getter setter

javascript - {...props} 语法如何将其属性传递给子组件?

javascript - Ember.js 1.12.0 中使用 if/else 条件帮助器的未封闭元素 '<td>'

javascript - 3d 立方体未完美显示

javascript - 如何用Enzyme测试子成分法?

javascript - setState() 之后的 Console.log() 不返回更新后的状态

react-router - GraphQL 与 React Router Relay : Expected type Int, 找到数字路由的字符串

javascript - react 路由器中的链接未定义错误

javascript - KML 标记失去了颜色(但仅在 js api 中)

javascript - 预输入/预测测试功能遇到问题