加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

react-native – React Native ListView的’rowHasChanged’的目

发布时间:2020-12-15 20:29:59 所属栏目:百科 来源:网络整理
导读:根据React Native的 ListView documentation,应该使用以下标准的rowHasChanged实现声明ListView数据源,以确定给定行的更改时间: var ds = new ListView.DataSource({rowHasChanged: (r1,r2) = r1 !== r2}); 我的问题是:在检测行是否发生变化的情况下,必须
根据React Native的 ListView documentation,应该使用以下标准的rowHasChanged实现声明ListView数据源,以确定给定行的更改时间:

var ds = new ListView.DataSource({rowHasChanged: (r1,r2) => r1 !== r2});

我的问题是:在检测行是否发生变化的情况下,必须提供如此明显且无关紧要的实现背后的想法是什么?有没有这种实现不成立的情况?我想象ListViewDataSource至少会为这样一个简单的函数提供一个默认实现,而不是每次创建数据源时都必须复制和粘贴这些代码.

解决方法

我不能说为什么没有提供默认值,但它可用的原因是你有一个包含复杂对象的列表视图,并且知道更有效的方法来知道行是否已经改变…例如,如果所有的列表项具有I??D属性,您知道如果ID相同,则整个对象与您可以执行的操作相同:

var ds = new ListView.DataSource({ rowHasChanged: (r1,r2) => r1.id !== r2.id });

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读