请问一下,点击最热模块点击收藏按钮的时候,进入详情无法刷新

来源:7-6 为Popular(最热)与Trending(趋势)模块的详情页添加收藏的功能

张浩宇24

2017-07-30

http://szimg.mukewang.com/597dd4a20001a6bc18240606.jpg

点击收藏按钮时,只是把改的数据在存储里面改了,但是没有更新当前的dataSource的数据,
导致跳转详情的时候,获取的还是原来的数据。

我看老师也是写的点击只更改了存储里面的数据,为什么dataSource的数据修改了呢。

写回答

1回答

CrazyCodeBoy

2017-08-01

  1. 点击收藏按钮的时候,TredingCell会改变收藏按钮的状态并且修改projectModel的收藏状态,这个是局部刷新,这样着改变dataSource全部刷新效率会高很多,当用户刷新列表的时候,程序会从数据库中重新读取收藏状态,然后初始化dataSource,有点懒加载的意思;

  2. 从列表也进入详情页,传递的是projectModel,详情页根据projectModel的收藏状态进行展现;

  3. 从详情返回列表可以在componentWillUnmount中调用列表页的onUpdateFavorite方法通知列表页刷新收藏状态:

componentWillUnmount() {
    this.backPress.componentWillUnmount();
    if (this.params.onUpdateFavorite)this.params.onUpdateFavorite();
}


0
0

React Native技术精讲与高质量上线App开发

一个真实的上线项目,一次完整的开发过程,全面掌握React Native技术

1577 学习 · 727 问题

查看课程