我设置了一个新的数据源,并调用了renderRow函数。
如果我返回一个简单的视图,例如{task.task_name},则列表会更新,并且名称会以正确的顺序显示。
但是如果返回一个React组件,在我的情况下,我返回一个,我通过props传递数据,数据源是正确的,但是TaskListItem组件没有更新。
Works:return {task.task_name}
不工作:返回
干杯
Global:
const ds = new ListView.DataSource({ rowHasChanged: (r1, r2) => r1 !== r2 })
constructor(props) {
super(props)
this.state = {
tasksDataSource: ds.cloneWithRows(this.props.tasks)
}
}
renderRow={(task) => {
return this._renderTaskRow(task)
}}
_renderTaskRow(task) {
return <TaskListItem task={ task } playing={ true } />
}
On hideRow function i set the new data source like this:
this.setState({
tasksDataSource: ds.cloneWithRows(newTasks)
})