React Native:我可以单独从列表中呈现组件吗?

时间:2017-05-03 16:18:24

标签: javascript reactjs react-native

我为我的本机应用程序构建了一个CommentList组件。

我有一个带有嵌套注释的json,我从中解析并呈现一个注释组件列表,其中包含嵌套子注释组件。

问题是这种递归操作需要太长时间。

我想要做的是一次渲染一个嵌套的注释树,以便第一个嵌套的注释树在加载后立即显示,然后继续呈现其他注释。

目前我这样做:

return this.state.fetchedComments.map(comment => {
    return <NestedComment key={comment.id} parent={comment} />;
});

等待直到创建每个评论组件,然后将它们全部呈现 - 这需要太长时间

1 个答案:

答案 0 :(得分:1)

在react native(特别是大列表)中呈现列表时,不要使用map()函数输出列表,而是应该使用内置的列表组件作为本机。

如果您使用的是本机版本0.43或更高版本,那么您可以访问新的FlatList组件:https://facebook.github.io/react-native/docs/flatlist.html

如果没有,那么你将不得不使用ListView组件: https://facebook.github.io/react-native/docs/listview.html

我强烈推荐使用FlatList组件,设置起来要容易得多,将来最终会弃用ListView组件。