React native确定用户是否位于屏幕顶部

时间:2016-08-11 10:26:34

标签: javascript react-native scrollview scrolltop

在web中的javascript中我会做这样的事情来确定用户是否位于可滚动页面/文档的顶部:

$(document).scroll(function() { 
   if($(window).scrollTop() === 0) {
     //do stuff
   }
});

React Native中是否有类似内容可以帮助我确定用户是否位于屏幕顶部?

2 个答案:

答案 0 :(得分:2)

使用ScrollView你可以这样做:

_handleScroll(event) {
    if(event.nativeEvent.contentOffset.y <= 0) {
        console.log('top!');
    }
}
render() {
    return (
        <View style={styles.container}>
            <ScrollView 
                onScroll={this._handleScroll}     
                onScrollAnimationEnd={this._handleScroll} 
                style={{flex: 1}}>
                    <View style={[styles.child, {backgroundColor: 'red'}]} />
                    <View style={[styles.child, {backgroundColor: 'orange'}]} />
                    <View style={[styles.child, {backgroundColor: 'green'}]} />
            </ScrollView>
        </View>
    );
}
var styles = StyleSheet.create({
    container: {
        flex: 1,
        backgroundColor: '#F5FCFF',
    },
    child: {
        flex: 1,
        height: 400,
    }
});

希望它有所帮助!

答案 1 :(得分:1)

ScrollView 组件具有 onScroll 方法。 pageX和pageY属性 evt nativeEvent contentOffset x y

handleScroll(event) {
 console.log(event.nativeEvent.contentOffset.y)
},

<ScrollView onScroll={this.handleScroll}/>