首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Auto scrollToIndex FlatList在长列表中不工作

Auto scrollToIndex FlatList在长列表中不工作
EN

Stack Overflow用户
提问于 2022-11-14 12:49:41
回答 1查看 18关注 0票数 0

我有一个通过FlatList按索引自动滚动的实现。当指数大于40-45时,自动滚动不起作用。在1-39个索引上,自动滚动器工作得很好。顺便说一句:当我试图让滚动按下相同的行为时,只能索引39个工作。

我的那部分代码:

代码语言:javascript
运行
复制
const [dataUpdated, setDataUpdated] = useState(false);
const [itemIn, setItemIn] = useState(-1);

useEffect(() => {
    if (selectedItem.id.length > 0) {
      setItemIn(items.map(object => object.itemId).indexOf(selectedItem.id));
    } else {
      setItemIn(0);
    }
  }, [items, selectedItem.id]);

 const listRef = useRef<FlatList>(null);

useEffect(() => {
    let screenListener = true;
    setTimeout(() => {
      if (itemIn >= 0 && screenListener) {
        setDataUpdated(!dataUpdated);
        listRef?.current?.scrollToIndex({
          animated: true,
          index: itemIn,
        });
      }
    }, 500);
    return () => {
      screenListener = false;
    };
  }, [dataUpdated, itemIn]);

 <ItemsList
          data={items}
          onItemPressed={onItemPressed}
          selectedItem={selectedItem}
          setSelectedItem={setSelectedItem}
          refIt={listRef}
          onScrollToIndexFailed={() => {}}
          extraData={dataUpdated}
        />
EN

回答 1

Stack Overflow用户

发布于 2022-11-14 15:24:28

我找到了办法--来自Shopify的FlashList完美地处理了这样的责骂。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74431915

复制
相关文章

相似问题

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