首页 > 解决方案 > 防止平面列表在数据更改时滚动到顶部(React Native Expo)

问题描述

每当我更新 myFlatlist时,它会自动滚动到列表顶部,如何防止这种情况发生?

平面列表代码

<FlatList
  data={posts}
  renderItem={({ item }) => (
    <Post
      data={item}
      flow={flow}
      likedata={likedata}
      route={route}
      navigation={navigation}
    />
  )}
  showsVerticalScrollIndicator={false}
  snapToInterval={Dimensions.get('window').height}
  snapToAlignment={'start'}
  decelerationRate={'fast'}
  onEndReachedThreshold={0.2}
  onEndReached={loadMore}
  keyExtractor={(item, index) => index.toString()}
  ref={yourRef}
  scrollsToTop={false}
  maintainVisibleContentPosition={{
    minIndexForVisible: 0,
  }}
/>

加载更多代码

const loadMore = async () => {
  const token = await getSpotifyAuthToken();
  const newdata = await getDataSpotify(token); //Array of data
  for (const i in newdata) {
    console.log(i);
    var data = newdata[i];
    setposts((posts) => [...posts, data]);
  }
};

任何帮助表示赞赏。我也在使用react-navigation

标签: react-nativeexporeact-native-flatlistflatlist

解决方案


推荐阅读