【问题标题】:React-router-dom errror: `You should not use <Route> or withRouter() outside a <Router>`React-router-dom 错误:`您不应在 <Router> 外使用 <Route> 或 withRouter()`
【发布时间】:2020-04-10 17:54:19
【问题描述】:

我收到了You should not use &lt;Route&gt; or with Router() outside a &lt;Router&gt; 错误,但我已经在路由器内部调用了路由。还有我的index.js

import { BrowserRouter as Router, Route } from "react-router-dom";
import App from "./components/App";

const Wrapper = () => (
  <Router>
    <Route path="/:view?/" render={(props) => <App {...props} />} />
  </Router>
);

ReactDOM.render(<Wrapper />, document.getElementById("root"));

每条路由都在App 内,因此被Router 包裹。有谁知道为什么会在这里发生?

感谢您的帮助,

【问题讨论】:

  • 请检查react-router-dom 的版本是否与react-router 的版本相同。还要确保不要混合来自 react-router-domreact-router 的导入
  • 您好,感谢您的帮助,但它们都在同一版本(5.1.2)中。还有其他建议吗?
  • 没有完整的例子很难说。您发布的 sn-p 看起来是正确的,您得到的错误可能是由多种原因引起的。我在第一条评论中写的最常见的,还有一个猜测是你有复杂的项目结构,比如 monorepository 或只是链接的包,因此你的包包含两个或多个“react-router”副本,它们不能很好地协同工作。看看完整的项目真的很有帮助。

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


【解决方案1】:

我发现发生了什么。 MDBReact Pro 不支持react-router-dom 的最新版本(这有点奇怪,因为他们的免费版本可以很好地支持它)。 我不得不将react-router-dom 降级到版本4.3.1。 谢谢你,Shlang,你的提示。它帮助我弄清楚发生了什么

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-29
    • 2018-09-09
    • 2020-05-20
    • 2019-11-27
    • 2019-05-28
    相关资源
    最近更新 更多