老师,您好。我的上个问题,您的视频里并没有答案。您给我的代码里,也没有答案。

来源:10-1 实现我的列表页-1【列表封装与复用】

suyx

2019-12-04

http://coding.imooc.com/learn/questiondetail/154945.html

老师,您好。

我在上述链接里提的问题并不是您所理解的那样,您给的答案与我的问题无关。

我的意思是:

①首先,用户在最热/趋势页面收藏了某个项目

②接着切换到收藏页面

③然后由收藏页面进入刚刚收藏项目的详情页,在详情页取消了收藏

④然后从详情页退回收藏页。此时刚刚取消的收藏项的星星确实变成空心的了。您的视频里教用callback函数,我明白。

我的问题是,此时,收藏页面如何自动刷新?您教的收藏页面自动刷新,是基于用户由其它的底部TabBar切换而来,页面就会自动刷新;而这里,是从详情页返回收藏页,所以EventBus不会发送底部TabBar切换事件。所以不会触发收藏页面自动刷新。此时需要手动刷新,收藏页才不会显示刚才取消掉的收藏项。

⑤然后,从收藏页切换到最热/趋势页面

此时,最热/趋势页面如何自动刷新?您教的自动刷新,是基于用户在收藏页点击了收藏按钮+切换了底部TabBar。而事实上,刚刚用户是由收藏页面进入到详情页面后点击的取消收藏,并没有在收藏页面点击收藏按钮,所以EventBus不会发送相关事件。所以不会触发最热/趋势页面的自动刷新。此时在最热/趋势页面中,刚刚被取消掉的那一栏依旧是被收藏的状态,需要手动刷新,才会更新收藏状态。

写回答

1回答

CrazyCodeBoy

2019-12-06

实现这个需求可以在详情页和列表页取消或添加收藏时发送一个event出来,列表页都监听这个event,根据接受到的event进行刷新。

1
0

RN入门到进阶,打造高质量上线App

解锁React Native开发应用新姿势,React Native新版本热门技术

3186 学习 · 3258 问题

查看课程