dva路由会进入两次

eut 发布于 2017-09-29 dva 最后更新 2018-07-20 20:20 6 浏览

以dva-cli生成的项目为例,输入地址 / ,会进入加载两次IndexPage。把routes/IndexPage.js改成

class IndexPage extends Component{
componentWillMount(){
console.log('in index page');
}

render(){ return <div>IndexPage</div> } }

控制台就会出现两次in index page。按道理来说,进入这个路由之后,应该加载一次IndexPage组件,运行一次componentWillMount。运行两次应该是加载了两次。

这个问题已经有过了,但是好像现在还是存在。#97

Versions of packages used: (哪个库的哪个版本出现的问题)

dva@2.0.3

已邀请:

phic

赞同来自:

会不会是 index.js 加载了两次?

qquasi

赞同来自:

@sorrycc 真的是index.js加载了两次。我在index.js里面加了个输出,发现真的输出了两次。这是什么情况?

hquas

赞同来自:

src/index.ejs 里删除 index.js 和 index.css 的引用。

ad_est

赞同来自:

我使用 this.props.history.push 方式切换路由,history.listen 回调执行了两次,使用 Link 组件不会有这样的问题