flatlist scroll to index

Вывожу список через flatlist с подгрузкой данных и после загрузки данных нужно сделать scroll к нужному индексу. Проблема в том, что в списке 500 записей, скролл надо сделать к 250 записи, но он перекидывает на index = 0, если мне надо перейти к первым из 100 записей, то все срабатывает нормально. Изначально выводиться 100 папок и при переходе в папку как раз срабатывает в новом окне этот код:

<FlatList
        ref={Ref}
        data={data}
        initialScrollIndex={activeIndex}
        onScrollToIndexFailed={info => {
            if (data) {
                const wait = new Promise(resolve => setTimeout(resolve, 500));
                wait.then(() => {
                    Ref.current?.scrollToIndex({ index: info.index, animated: false });
                });
            }
        }}
        renderItem={renderItem}
        keyExtractor={keyExtractor}
        onViewableItemsChanged={onViewCallBack}
        viewabilityConfig={{viewAreaCoveragePercentThreshold: 30}}
        maxToRenderPerBatch={2}
        refreshing={refreshing}
        onRefresh={onRefresh}
        ListEmptyComponent={ListEmptyComponent}
        onEndReached={() => {
            if (loadPagination === false) {
                onEndReached()
            }
        }}
        onEndReachedThreshold={0.3}
    />

Сама функция, которая определяет index и делает скролл

const scrollStart = () => {
    if (scrollToId && data?.[0]) {
        let index = 0
        data.forEach((el, key) => {
            if (el.id === scrollToId) {
                index = key
            }
        })

        Ref.current?.scrollToIndex({ index: index, animated: false });
        setActiveIndex(index)
    }
}

useEffect(() => {
    scrollStart()
}, [data])

Ответы (0 шт):