嵌入app里面的一个静态页面的返回出现的兼容性问题

来源:19-3 Redux 简介与实例演示

沐羽临风

2018-01-07

    大致的业务流程是这样:A->B->C->D->R->D-(成功)->A,因为业务需求的关系R是其他人开发的页面,用的avalon框架。因为不能在一个路由里跳转,我在D页面里面把关键数据存在session里面,回到该页面如果redux里面没有值就会从后台读取并且保存到redux里面。这样在R页面点击下一步或者app上的后退按钮都不会影响到我自己的流程。

       项目实际运行下来,在pc端模拟和ios的机器上都能够按照我的期望运行,但是在部分安卓机上出现了一个问题:我在进入到R页面之后点击后退,的确回到了D并且取到了数据,但是我如果再按后退,会出现加载的进度条然后redux里面的数据都清空了,然后我在点击下一步到页面D中根据session获取到数据后,再点击返回又正常传递了数据。换句话说从R页面返回后,我的每一个后退操作(D->C->B->A)都会导致页面被重新加载从而无法用redux传递数据。

       我尝试过window.history和hashhistory.goback的返回都是存在一样的问题,而用hashhistory.push却是可以正常跳转的。想请老师帮忙定位一下问题,我应该怎么进行修改。

写回答

1回答

Parry

2018-01-08

我看不到代码,只能猜一下。
是不是在页面初始化的地方有清空 state 的地方?
是不是后面进入都不清空了?

0
2
沐羽临风
目前我的处理方法是在进入页面时如果props里面的值为空对象就从session里面读取然后访问后台,但是这样就会导致部分安卓机在后退时会出现重复访问。从性能还是代码上都不太好
2018-01-08
共2条回复

结合基础与实战学习React.js 独立开发新闻头条平台

轻松入门 React 开发,React Router 4 与 Webpack 2 完美升级项目

2768 学习 · 2126 问题

查看课程