滚动开始时我需要显示一个视图,滚动停止时我需要隐藏一个视图。
要检测滚动动作,有两种方法:
当用户开始拖动滚动视图时调用。
onScrollBeginDrag={this.showView}
onScrollEndDrag={this.hideView}
动量滚动开始时调用<结束
onMomentumScrollBegin={this.showView}
onMomentumScrollEnd={this.hideView}
已检测到的行为:
如果继续滚动,则即使onScrollEndDrag
被调用也不应隐藏视图,并且在onMomentumScrollEnd
之前仍会显示视图。
如果继续滚动未激活,则应在onScrollEndDrag
调用
实际行为:
如果继续滚动,则会在调用onScrollEndDrag
时隐藏视图并再次显示视图,直到onMomentumScrollEnd
。因此,在视图之间消失,然后在拖动释放时出现。
答案 0 :(得分:1)
在onScroll
中调用去抖动功能。
去抖意味着它会在一堆的结尾(或开始)被调用 事件。 More Info
// Debounce
this.ViewVisibility = lodash.debounce(this.ViewVisibility, 100);
onScroll={() => {
this.ViewVisibility();
}}
ViewVisibility = () => {
console.log('Debouncing');
this.hideView();
}