React Native - ListView渲染

时间:2017-04-08 01:38:43

标签: reactjs react-native

我正在使用React Native开发聊天应用。 因此,对于新到达或我的回复,在ListView中呈现名为ReplyCard的组件 同时,线程的总回复计数应显示在第一个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}/>
   );
}

在控制台中记录第一个节点和新到达。 我认为这是因为ListView只尝试渲染受影响的行 所以我期望根据数据源的变化来渲染两行 但只有新的到来 两者之间的区别在于新到货的数据源是全新的,我修改了第一个节点的数据源。 我想解决这个问题。如果你可以帮助我,那对我来说会很棒 提前致谢

0 个答案:

没有答案