首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React原生平面列表渲染大型数据的速度非常慢

React原生平面列表渲染大型数据的速度非常慢
EN

Stack Overflow用户
提问于 2021-07-03 19:08:40
回答 2查看 236关注 0票数 4

我使用flatlist在原生react中渲染我的数据,但是flatlist渲染大量数据的速度非常慢,在快速滚动之后,它会重新渲染数据。由于这一点,我的应用程序需要很长时间才能显示完整的数据。我也收到了这样的消息

VirtualizedList: You have a large list that is slow to update - make sure your renderItem function renders components that follow React performance best practices like PureComponent, shouldComponentUpdate

我已经尝试了所有的平面列表优化技术,但是平面列表渲染仍然很慢。有什么建议,如何解决这个问题?

我的flatlist组件看起来像

代码语言:javascript
复制
<FlatList
     data={questionArray}
     showsVerticalScrollIndicator={false}
     renderItem={renderItem}
     keyExtractor={keyExtractor}
/>

const renderItem = useCallback(
        ({ item, index }) => {
                              ....
                             },
        []
    );

const keyExtractor = useCallback((item, index) => index.toString(), []);
EN

回答 2

Stack Overflow用户

发布于 2021-07-03 21:11:12

有一些步骤你可以尝试,因为它完全取决于数据集以及你在项目中实现/消费的方式。

React.PureComponent提供基于类的组件的

  1. 尝试

  1. 您也可以尝试将removeClippedSubviews设置为true

  1. 在您的FlatList中添加keyExtractor,如下所示:

  1. Add onEndReached Function。

常量加载器,setLoader =useState(假);

代码语言:javascript
复制
const onEndReached = (page) => {
  if (next && !loader) {
    setPage(page + 1)
  }
}

const loadData = async () => {
  setLoader(true);
  const resp = await getData();
  setLoader(false);
}



<FlatList ...someprops onEndReached={onEndReached} />

  1. set initialNumToRender={integer-value}

  1. 找到了这个:Flatlist Performance
票数 0
EN

Stack Overflow用户

发布于 2021-07-03 20:01:54

也许可以通过"useMemo()“来实现

代码语言:javascript
复制
   const memoizedValue = useMemo(() => renderItem, [array]);

        <FlatList
            keyExtractor={keyExtractor}
            data={array}
            renderItem={memoizedValue}
        />
      const renderItem = ({ item }) => (
         <ListItem/>
      ) 
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68235688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档