未捕获错误:您不应该使用 或者在外面使用路由器()
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未捕获错误:您不应该使用 或者在外面使用路由器()相关的知识,希望对你有一定的参考价值。
我正在使用react-rails gem(v 2.3)和react-router-dom(v 4.2.2)并将我的根组件App安装在我的根Rails路由上。
这就是它的安装方式:
<%= react_component("App") %>
这是组件本身:
const Router = ReactRouterDOM.BrowserRouter,
Route = ReactRouterDOM.Route;
class App extends React.Component{
render() {
return (
<Router>
<Route path="/" component={Index}>
</Route>
</Router>
);
}
}
我一直收到以下错误:
Uncaught Error: You should not use <Route> or withRouter() outside a <Router>
我在上面的路由器组件中没有使用Route组件吗?索引组件可能有错误吗?
在此先感谢任何帮助:)
答案
也许这不是正确的错误..尝试覆盖您的应用程序
class App extends React.Component{
render() {
return (
<Router>
<Route path="/" component={Index} />
</Router>
);
}
}
或者在qazxsw poi中包裹你qazxsw poi
Route
这是div
另一答案
我遇到了类似的错误消息,但在不同的上下文中。我在这里发布我的修复,以防其他人遇到我所做的相同情况。
我的问题是我有一个添加了两个元素的App.js,但我忘了更新我的index.js文件。它曾经是:
class App extends React.Component{
render() {
return (
<Router>
<div>
<Route path="/" component={Index} />
</div>
</Router>
);
}
}
我更新到:
docs
还必须添加以下import语句:
ReactDOM.render(<App />, document.getElementById('root'))
以上是关于未捕获错误:您不应该使用 或者在外面使用路由器()的主要内容,如果未能解决你的问题,请参考以下文章
您不应该使用 react-router-dom 在路由器外部使用 Link
如何在外部 npm 包中使用 React 的 Link 组件而不会出现错误:不变的“你不应该在路由器外部使用链接”
未捕获的类型错误:无法使用“in”运算符在未定义的 vue 路由器中搜索“路径”
Vue 路由:未捕获类型错误:window.Vue.use 不是函数