reactjs - 尝试导入错误 : 'Switch' is not exported from 'react-router-dom'

标签 reactjs

我不知道为什么会收到此错误,也无法在任何地方找到答案。我已经卸载了react-router-dom打包并重新安装它,但它继续告诉我 switch 模块不是从 react-router-dom 导出的。这是我的代码。
我得到的错误:

Attempted import error: 'Switch' is not exported from 'react-router-dom'.


代码
import React from 'react';
import './App.css';
import NavBar from './components/navbar.js';
import Footer from './components/footer.js';
import Home from './components/pages/homepage/home.js';
import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom';

function App() {
  return (
    <Router>
      <div className="app-container">
        <NavBar />
        <Switch>
          <Route path="/home" component={Home} />
        </Switch>
        <Footer />
      </div>
    </Router>
  );
}

export default App;

最佳答案

在 react-router-dom v6 中,“Switch”被路由“Routes”取代。您需要从

import { Switch, Route } from "react-router-dom";
import { Routes ,Route } from 'react-router-dom';
您还需要更新 Route 声明
<Route path="/" component={Home} />
<Route path='/welcome' element={<Home/>} />
在 react-router-dom 中,您也不需要使用 准确 在路线声明中。
更多信息,您可以访问官方文档:
upgrade to react-router-dom v6

关于reactjs - 尝试导入错误 : 'Switch' is not exported from 'react-router-dom' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63124161/

相关文章:

javascript - 跟踪多个文本输入的值以确认它们在 JavaScript/React 文字游戏中都是正确的最佳方法

javascript - 在状态更改之前调用我的函数

javascript - 从API访问数据并在react中输出

javascript - 通过三个级别的组件传递函数(即从孙组件调用函数)

javascript - 抛出错误时,React-native fetch 无法设置状态

arrays - Redux 在存储中返回一个空数组 - Reducer 无法正常工作?

javascript - 在 react 中按下按钮时评估输入字符串

javascript - React-native:在从存储中获取数据之前渲染 View

javascript - 测试: `Error: Invariant Violation: addComponentAsRefTo(...): Only a ReactOwner can have refs.` error

node.js - npm 错误!在 github 操作上构建脚本期间失败