【问题标题】:ReactNative's FlatList calls renderItem more times than windowSize specifiesReactNative 的 FlatList 调用 renderItem 的次数超过了 windowSize 指定的次数
【发布时间】:2017-06-29 05:59:46
【问题描述】:

我正在使用FlatList 来呈现一个列表。我已经配置为一次只显示一行,方法是使用pagingEnabled={true} 并渲染占据父级的完整大小的单元格。

我还设置了windowSize={2} 和initialNumToRender={1}。在我的renderItem 函数中,我使用console.log 记录每个呼叫。

当组件加载时,我在 renderItem 中看到我的数据数组中的每个项目都有一个日志语句,这意味着每个单元格都在进行预渲染。

结果是延迟加载组件。单元格不应该只按windowSize 指定的数量呈现吗?

【问题讨论】:

  • 你解决了吗?

标签: react-native react-native-flatlist


【解决方案1】:

我也有同样的问题,貌似FlatList和VirtualizedList有bug:https://github.com/facebook/react-native/issues/18142 但是我不知道为什么不想解决,我用一个只呈现数字列表的小应用程序进行测试,我遇到了同样的问题。我根本没有修复它,但它帮助我提高了性能:https://facebook.github.io/react-native/docs/next/optimizing-flatlist-configuration

注意:非常重要的实现:getItemLayout 并输入removeClippedSubviews={true},因为它可以显着提高性能。

Pd:我向你推荐这个组件:https://github.com/Flipkart/recyclerlistview

希望我对你有所帮助。 ¡您好!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 2019-05-16
    • 2021-05-31
    • 2016-03-06
    • 2018-01-18
    相关资源
    最近更新 更多