react-native – 如何添加/删除项目到ListView?
我们可以像这样为ListView创建一个数据源
var ds = new ListView.DataSource({rowHasChanged: (r1,r2) => r1 !== r2}); var dataSource = ds.cloneWithRows(['row 1','row 2']),}; 但是,如果我想从数据源中添加项目或删除项目,我该怎么做?我需要总是使用更新的数组调用cloneWithRows吗?
是的,调用cloneWithRows(…)
React Native文档不涵盖ListViewDataSource对象,因此阅读source code中的注释可以帮助您了解它的工作原理。 一些可能有帮助的笔记: > cloneWithRows(data)有点误导性地命名,因为它不只是创建一个数据的克隆名称。 通过整个列表只是为了改变几行似乎是不直观的,但是有几个原因为什么它是有道理的: >首先,它与React的整体flux-based architecture相匹配,其中重点是设置状态,并允许组件找出如何突变自己来反映新状态(想想这个.props或this.state的工作原理)。您可以随意更改ListView组件之外的数据数组,但一旦准备好更新组件,就可以将整个状态传递到组件中,从而可以更新自身。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |