选择项目后如何保持滚动位置反应原生平面列表

时间:2021-01-25 15:43:20

标签: reactjs react-native flatlist

找到答案——与在某些项目周围设置样式组件有关

每当我有一个很长的列表并且我向下滚动以选择一个项目时,选择后,它会跳回到顶部。怎样才能做到选择后屏幕不变化?

当我试图深入研究这个问题时,我得到了这个问题的搜索结果,但在添加新项目或如何实现无限滚动时,这不是这里的情况。

我尝试为 flatlist 分配一个引用,并在通过选择一个项目触发操作后,滚动到最后保存的位置,但这不会改变任何内容。

<FlatList
        contentContainerStyle={{paddingBottom: 10}}
                data={stores as Stores[]}
                renderItem={({item}): JSX.Element => (
                    <TouchableOpacity onPress={(): void => setState(item)}>
                        <Text>{item}</Text>
                    </TouchableOpacity>
                )}
                ItemSeparatorComponent={(): JSX.Element => <ItemSeparator />}
                keyExtractor={(item): string => item.id.toString()}
                ListHeaderComponent={
                    <ListHeader />
                }
            />

1 个答案:

答案 0 :(得分:0)

这与我有一个自定义组件保存在另一个文件中的事实有关,我在该文件中将此值作为子项传递。它最终重新渲染并刷新了页面!