今天加入了一个新项目,阅读代码的时候发现了一个列表页和详情页数据同步的方案,之前自己还从来没用过,觉得不错,所以记录下。
场景描述
用户在列表页,点击某条数据,进入详情页。
在详情页中,用户会进行一些交互,比如点赞、收藏等等。
这时候,如果返回列表页,刚才详情点赞、收藏等等的操作数据需要同步到列表页中。
一般的处理方式是重新拉取列表页数据。这样当然也没什么问题,但我们可以改进一下,我们看看改进方案
改进方案:
从详情页返回后,单独查询刚才访问的那条详情页的数据,然后更新到列表页数据中,这样的好处是不用重新拉取列表数据了。(前提是你的列表页数据做了缓存)
实现流程
1 点击进入详情页前,记录下id,命名为lastId
2 返回列表页后,判断一下是否存在lastId,如果存在,则对这个lastId发起请求
3 拿到lastId的数据后,从页面页数据中找到这条数据,更新它
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。