在收藏页面取消了pupular或者trending对应的元素时,会出现从favoritePage返回到popular或者trending页面时,列表渲染不一致
来源:7-9 Favorite(收藏)模块列表页面具体实现-2
慕用2216972
2018-05-17
在收藏页面取消了pupular或者trending对应的元素的收藏时,会出现从favoritePage返回到popular或者trending页面时,列表的第一个元素的收藏图片不会被重新渲染,依然显示被收藏的状态(如果取消的是列表中的非第一个元素的收藏,那么返回popular或者trending页面是,被取消收藏的元素的收藏图片正常显示,显示未被收藏的状态)
写回答
1回答
-
CrazyCodeBoy
2018-05-22
收藏页面当收藏状态发生改变后会发送通知:
onFavorite(item, isFavorite) { ActionUtils.onFavorite(this.favoriteDao, item, isFavorite, this.props.flag); ArrayUtils.updateArray(this.unFavoriteItems, item); if (this.unFavoriteItems.length > 0) { if (this.props.flag === FLAG_STORAGE.flag_popular) { DeviceEventEmitter.emit('favoriteChanged_popular'); } else { DeviceEventEmitter.emit('favoriteChanged_trending'); } } }
2. 最热和趋势页面要订阅对应的通知做刷新操作:
componentDidMount() { super.componentDidMount(); this.listener = DeviceEventEmitter.addListener('favoriteChanged_popular', () => { this.isFavoriteChanged = true; }); this.loadData(); }
3. 具体实现可参考课程源码;
00
相似问题