React Native中监听ScrollView滑到底部事件监听

需求:RN 页面中,需要对scrollView滑到底部,上传事件。

首先找到ScrollView 中滑动结束后触发的函数 可以找到onMomentumScrollEnd

          < ScrollView
            style={{flex:1}}
            onRefresh = {this._onRefreshData}
            onMomentumScrollEnd = {this._contentViewScroll}
            refreshing={this.state.refreshing}
            automaticallyAdjustContentInsets={false}
            showsVerticalScrollIndicator={false}
            scrollsToTop={true}>
            {}
          

我们需要知道当前ScrollView中 滑动的距离, contentOffset.y contentSize.height ScrollView 高度,三个变量来确定当前有没有滑动到底部。好在事件中都具有这些属性

    _contentViewScroll(e: Object){
        var offsetY = e.nativeEvent.contentOffset.y; //滑动距离
        var contentSizeHeight = e.nativeEvent.contentSize.height; //scrollView contentSize高度
        var oriageScrollHeight = e.nativeEvent.layoutMeasurement.height; //scrollView高度
        if (offsetY + oriageScrollHeight >= contentSizeHeight){
            Console.log('上传滑动到底部事件')
        }
    },

你可能感兴趣的:(React Native中监听ScrollView滑到底部事件监听)