阅读数:

react项目中实现返回不刷新补充

0

说明

上一篇我们介绍了reach页面返回不刷新的问题,但是细心的
童鞋发现,当我们有三级页面时1->2->3 ;比如2级页面我们用这个方法缓存住了数据,3->2是没有问题的
,但是再从1->2的时候数据应该是从0开始加载,这就不对了。针对这个问题我们该怎么处理呢?也好解决根据this.props.location.action进行判断,1->2action是PUSH 3->2action是POP。到这里相信你知道该怎么做了吧

取数据

1
2
3
4
5
6
7
componentDidMount() {
if(this.props.location.action === 'PUSTH'){
this.props.getList.call(this); //每次1->2,路由前进时都重新加载
}else{
this.props.list.data && this.props.list.data.length <= 0 && this.props.getList.call(this);
}
}

这就防止了第二次重新加载已有数据,换句话说就是只有第一次或者路由正常进栈访问的时候
才会执行getlist方法。


0
赏点咖啡钱^.^