添加新项目时防止滚动滚动列表

问题描述:

将数据添加到滚动列表时(例如订阅)会向下滚动,导致非常糟糕的用户体验。 关于如何解决这个问题的任何想法?添加新项目时防止滚动滚动列表

其实这必须在本地层面处理,但我认为还没有处理, 我解决了保持滚动我的问题,偏移和重新加载数据这样之后再进行设置:

reloadData(flatListData){ 

    this.setState({ 
     flatListData: flatListData 
    }); 

    requestAnimationFrame(() => { 
     this.flatList.scrollToOffset({ 
         animated: false, 
         offset: this.flatListLastOffset 
      }); 
    }); 
} 

...

<FlatList 
    data={this.state.} 
    ref={ref => this.flatList = ref} 
    onScroll={(event: Object) => { 
      this.flatListLastOffset = event.nativeEvent.contentOffset.y; 
      }} 
    horizontal={false} 
    scrollEventThrottle={16} 
/> 

这是不是最好的解决办法,但解决我的问题,现在

+0

你找到更好的解决办法? –