react native scrollviewend scroll code example

Example 1: how to detect onend reach of scrollview in react native

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;

Example 2: react native scroll to

import React, { useRef } from 'react';
import { ScrollView, View, Button } from 'react-native';

export default function scrollTo() {
  	const scrollRef = useRef();
  
  	const handleClick = number => {
    	scrollRef.current.ScrollTo({
          y: (100 * number),
          animated: true,
    };
  
	return (
      <ScrollView ref={scrollRef} >
      	<View style={{height: '100px'}}>
      		<Button onPress={() => handleClick(1) title="1"/>
		</View>
		<View style={{height: '100px'}}>
      		<Button onPress={() => handleClick(2) title="2"/>
		</View>
		<View style={{height: '100px'}}>
      		<Button onPress={() => handleClick(3) title="3"/>
		</View>
		<View style={{height: '100px'}}>
      		<Button onPress={() => handleClick(4) title="4"/>
		</View>
		<View style={{height: '100px'}}>
      		<Button onPress={() => handleClick(5) title="5"/>
		</View>
      </ScrollView>
    );
}