React native 为什么要逐个渲染本机平面列表

React native 为什么要逐个渲染本机平面列表,react-native,React Native,这是屏幕本身: 平面列表的代码为: } renderItem={renderItem} keyExtractor={item=>m.extraKey(item)} /> 数据来自服务器,但只获取一次。代码是: useffect(()=>{ c_service.getAllTags() .然后((res:LabelItemBean[])=>{ res.forEach(item=>initLabels(item,selected)); setPreData(res); setData(()=>r

这是屏幕本身:

平面列表的代码为:

}
renderItem={renderItem}
keyExtractor={item=>m.extraKey(item)}
/>
数据来自服务器,但只获取一次。代码是:

useffect(()=>{
c_service.getAllTags()
.然后((res:LabelItemBean[])=>{
res.forEach(item=>initLabels(item,selected));
setPreData(res);
setData(()=>res);
}).catch(错误=>{
控制台错误(err);
});
}, []);

我不明白为什么它会一个接一个地渲染

您可以使用参数
initialNumToRender
来设置最初渲染多少项(加载时)

还可以使用
maxToRenderPerBatch
定义每次到达平面列表末尾时渲染的项目数

如果这样使用,您的代码现在应该工作得更好:

}
renderItem={renderItem}
keyExtractor={item=>m.extraKey(item)}
/>
有关这些参数如何影响平面列表性能的更多信息,请参见