【发布时间】:2020-04-10 17:54:19
【问题描述】:
我收到了You should not use <Route> or with Router() outside a <Router> 错误,但我已经在路由器内部调用了路由。还有我的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-dom和react-router的导入 -
您好,感谢您的帮助,但它们都在同一版本(5.1.2)中。还有其他建议吗?
-
没有完整的例子很难说。您发布的 sn-p 看起来是正确的,您得到的错误可能是由多种原因引起的。我在第一条评论中写的最常见的,还有一个猜测是你有复杂的项目结构,比如 monorepository 或只是链接的包,因此你的包包含两个或多个“react-router”副本,它们不能很好地协同工作。看看完整的项目真的很有帮助。
标签: reactjs react-router react-router-dom react-dom