React Native - 在平面列表中滚动时显示视图

时间:2018-05-19 07:27:31

标签: react-native scrollview react-native-flatlist

滚动开始时我需要显示一个视图,滚动停止时我需要隐藏一个视图。

要检测滚动动作,有两种方法:

  1. 当用户开始拖动滚动视图时调用。

    onScrollBeginDrag={this.showView}
    onScrollEndDrag={this.hideView}
    
  2. 动量滚动开始时调用<结束

    onMomentumScrollBegin={this.showView}
    onMomentumScrollEnd={this.hideView}
    
  3. 已检测到的行为:

    如果继续滚动,则即使onScrollEndDrag被调用也不应隐藏视图,并且在onMomentumScrollEnd之前仍会显示视图。

    如果继续滚动未激活,则应在onScrollEndDrag调用

    时隐藏

    实际行为:

    如果继续滚动,则会在调用onScrollEndDrag时隐藏视图并再次显示视图,直到onMomentumScrollEnd。因此,在视图之间消失,然后在拖动释放时出现。

1 个答案:

答案 0 :(得分:1)

onScroll中调用去抖动功能。

  

去抖意味着它会在一堆的结尾(或开始)被调用   事件。 More Info

// Debounce
this.ViewVisibility = lodash.debounce(this.ViewVisibility, 100);

onScroll={() => {
  this.ViewVisibility();
}}

ViewVisibility = () => {
  console.log('Debouncing');
  this.hideView();
}