react-router 5.0.0 报错 You should not use <Route> outside a <Router>

5,560 阅读1分钟

报错可能也会是 :

You should not use <Redirect> outside a <Router> 

具体看你代码咋撸的啦!

遇到这个报错一般有两种情况:

1、确实是你写的标签外没有包裹

改为

<Router>
    <Switch> <Route /> </Switch>>  
</Router>

2、这个情况确实稍不注意就入坑了呀!!!

那就是把react-router-dom插件和react-router搞混了

错误示范

//router从在个插件引入的所以下面的Router,Switch也应该从这引入
import { Route } from "react-router-dom"; 

//Router,Switc 从"react-router"引入
import { Router,Switch} from "react-router";

<Router> 
    <Switch>
        <Route path='/login' component={blank(Login)} /> 
    </Switch>
</Router>

ps: 也需要注意withRouter 方法引的时候也别搞错

有错误的地方欢迎各位大佬批评指正,谢谢啦~