Reactjs React Native-ListView呈现

Reactjs React Native-ListView呈现,reactjs,react-native,Reactjs,React Native,我正在使用React Native开发聊天应用程序。 因此,对于新到达的邮件或我的回复,在ListView中呈现一个名为ReplyCard的组件 同时,线程的总回复数应该显示在第一个回复卡上 下面的代码是到达newNode的时间 const sectionId = this.state.dataSource.sectionIdentities[0]; var nodes = this.state.dataSource._dataBlob[sectionId]; var aNode = Obje

我正在使用React Native开发聊天应用程序。 因此,对于新到达的邮件或我的回复,在ListView中呈现一个名为ReplyCard的组件 同时,线程的总回复数应该显示在第一个回复卡上

下面的代码是到达newNode的时间

const sectionId = this.state.dataSource.sectionIdentities[0];
var nodes = this.state.dataSource._dataBlob[sectionId];

var aNode = Object.assign({}, nodes[0]);
aNode.data.meta = {
   repliesCount: this.state.repliesCount
}

this.setState({ dataSource: 
    this.state.dataSource.cloneWithRows([aNode, ...(nodes.concat(
        newNode
    ))])
});
我连接了ListView的renderRow回调来呈现我的自定义单元格

renderRow(reply, sectionId, rowId) {
   console.log('ReplyCard is going to be rendered - meta', reply, sectionId, rowId);
   return (
       <ReplyCard reply={reply}/>
   );
}
renderRow(回复,部分ID,行ID){
log('ReplyCard将被呈现为-meta',reply,sectionId,rowId);
返回(
);
}
在控制台中记录第一个节点和新到达的节点。 我认为这是因为ListView只尝试渲染受影响的行 因此,我预计将根据数据源更改呈现两行 但只呈现新的到达 两者的区别在于,新到达的数据源是全新的,我修改了第一个节点的数据源。 我想修复这个错误。如果你能帮助我,那对我来说太好了
提前感谢

传递给数据源的
rowHasChanged
函数是什么样子的?const ds=new ListView.datasource({rowHasChanged:(r1,r2)=>{return r1.data.meta&&r1.data.meta.repliescont!=r2.data.meta.repliescont;});