我有一个Text
,其中有一个ScrollView
,我想检测用户何时滚动到文本的末尾,这样我就可以启用一个按钮.
我一直在调试onScroll
事件中的事件对象,但似乎没有任何可用的值.
我有一个Text
,其中有一个ScrollView
,我想检测用户何时滚动到文本的末尾,这样我就可以启用一个按钮.
我一直在调试onScroll
事件中的事件对象,但似乎没有任何可用的值.
我是这样做的:
import React from 'react';
import {ScrollView, Text} from 'react-native';
const isCloseToBottom = ({layoutMeasurement, contentOffset, contentSize}) => {
const paddingToBottom = 20;
return layoutMeasurement.height + contentOffset.y >=
contentSize.height - paddingToBottom;
};
const MyCoolScrollViewComponent = ({enableSomeButton}) => (
<ScrollView
onScroll={({nativeEvent}) => {
if (isCloseToBottom(nativeEvent)) {
enableSomeButton();
}
}}
scrollEventThrottle={400}
>
<Text>Here is very long lorem ipsum or something...</Text>
</ScrollView>
);
export default MyCoolScrollViewComponent;
我想添加paddingToBottom
,因为通常不需要将ScrollView滚动到底部直到最后一个像素.但如果你想把paddingToBottom设置为零.