【发布时间】:2016-05-23 07:30:53
【问题描述】:
我正在尝试使用节标题更新列表视图,但视图没有改变: https://rnplay.org/apps/WJ1cEw
这是我尝试更新列表视图的代码:
changeData(){
var dataTemp = Object.assign({},data);
dataTemp.Section1[0] = {title: 'New content for Row 1, Section 1'};
this.setState({
dataSource: this.state.dataSource.cloneWithRowsAndSections(dataTemp)
});
}
我可以看到 rowHasChanged 正在运行,但 row1 和 row2 都包含新数据,因此它永远不会评估为真。
如果我总是从 rowHasChanged 返回 true,则更新 ListView,但我猜这意味着重新渲染整个 listView。
【问题讨论】:
-
您需要提供更多上下文。具体来说,“数据”从何而来?我敢打赌它正在被 ref 修改,所以它已经改变了,因为它肯定没有在这个“changeData”函数中设置。
-
我在上面的rnplay链接中提供了一个完整的例子和源代码。
标签: react-native