📌  相关文章
📜  开关未从“react-router-dom”导出 - Javascript (1)

📅  最后修改于: 2023-12-03 15:25:32.926000             🧑  作者: Mango

开关未从“react-router-dom”导出 - Javascript

当在React项目中使用React Router时,可能会遇到“开关未从react-router-dom导出”的错误。这个错误通常发生在尝试导入和使用React Router的组件时。

原因

该错误发生的主要原因是尝试从错误的模块导入组件。在React Router V6及以上版本中,Switch组件已被删除,取而代之的是Routes组件。

解决方案
  1. 将Switch更改为Routes
// 旧代码
import { Switch, Route } from 'react-router-dom';

<Switch>
  <Route exact path="/" component={Home} />
  <Route path="/about" component={About} />
  <Route path="/contact" component={Contact} />
</Switch>

// 新代码
import { Routes, Route } from 'react-router-dom';

<Routes>
  <Route path="/" element={<Home />} />
  <Route path="/about" element={<About />} />
  <Route path="/contact" element={<Contact />} />
</Routes>
  1. 更新React Router 如果你的项目中已经使用了React Router V6及以上版本,那么将Switch更改为Routes就足够了。否则,你需要更新React Router版本。
npm install react-router-dom@latest
结论

在React Router中,Switch组件已被移除,Routes组件取而代之。因此,当你在项目中使用React Router时,记得将Switch更改为Routes。如果该错误仍然存在,请确保你的React Router版本已更新至V6及以上版本。