React Native | renderRow函数返回在更改数据源时不更新的React组件

时间:2016-05-25 16:01:53

标签: listview react-native

我设置了一个新的数据源,并调用了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)
})

0 个答案:

没有答案