请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

https://img1.sycdn.imooc.com/szimg//597dd4a20001a6bc18240606.jpg

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

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

正在回答 回答被采纳积分+3

1回答

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

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

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

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


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信