react-router3.0升级4的时候报错。

原项目使用react-router 3.0,现在需要升级为4.0以上版本,在升级过程中发现报错,报错信息如下

clipboard.png
warning.js

clipboard.png
路由部分代码

import React from 'react';
import ReactDOM from 'react-dom';
import { Route, Link ,HashRouter,hashHistory,IndexRoute } from 'react-router-dom';
<HashRouter>

    {/*Pages*/}
    <Route path="/" component={BasePage}>
        <IndexRoute component={Login} />
        <Route path="login" component={Login}/>
        <Route path="register" component={Register}/>
        <Route path="recover" component={Recover}/>
        <Route path="code" component={VerifyCode}/>
        <Route path="newpassword" component={NewPassword}/>
        <Route path="notfound" component={NotFound}/>
        <Route path="error500" component={Error500}/>
        <Route path="maintenance" component={Maintenance}/>
    </Route>
</HashRouter>,

不知道什么原因,求大神指点

阅读 2.9k
2 个回答

v4是破坏性升级,意味着并不是直接把react-router版本号改成v4就可以了,你需要改写你原有的路由代码。比如v4中已经没有IndexRoute了。
可以看看我写的这篇v4的文章:https://segmentfault.com/a/11...
然后看下React Router官网教程,对项目中的路由代码重构。

  1. 我大致看了下哦,你先去看文档,因为React-router v4 都没有 IndexRoute 组件了。你还在用啊~
  2. Route组件不能嵌套了

反正是一点一点都不一样了。建议不是必须 就别升级~~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题