朋也的博客 » 首页 » 文章
作者:朋也
日期:2017-09-06
类别:
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
使用版本:react-router-dom (v4)
问题描述:
页面List往下翻一下,然后点击其中的某一项,到Detail页面,然后再返回到List,List会回到顶部,而不是在之前的滚动位置
关于这个问题的解决办法,在网上找了一堆的文章,开源项目,大致分为以下两类
但在使用的过程中还是碰到问题了
我项目中的页面分为,Header, Section, Footer三个部分,Section用了绝对布局,页面的滚动被css控制了,所以死活就是记不住之前的滚动位置,折腾了好久,最后把Section部分的布局样式的绝对布局去掉了,什么都好了
说明:
关于使用Redux跟页面滚动没有必然联系,我开发这个项目的时候 ,最开始没用redux,然后网上找的项目还都是用了redux的,这就导致我一直以为用了redux之后问题就会解决,然后花了两天时间给项目加上了redux,问题还是存在,心累!!
redux的使用是缓存页面上数据的好办法,当然,如果项目中父子组件之前的交流较多的话,用redux会方便很多,但如果项目中每个页面都比较相对独立,父子组件交流也比较少的话,就没必要用上redux,那样只会加深项目的复杂性
最后,页面数据的缓存也可以使用 localStorage, sessionStorage 等来实现,当然都会有一些浏览器的兼容问题,特别是safari的无痕模式下,请注意一下