
Security News
Feross on the 10 Minutes or Less Podcast: Nobody Reads the Code
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.
react-native-custom-refresh
Advanced tools
react-native-custom-refresh is a highly customizable pull-to-refresh component for React Native, built with Reanimated 2. It provides smooth pull-to-refresh animations with a rotating loader and customizable header text or components. Supports both user-i
react-native-custom-refresh is a fully customizable pull-to-refresh component for React Native, built with Reanimated 2. It provides smooth pull-to-refresh animations with a rotating loader and supports custom header text or components. It works with both manual user gestures and programmatic refresh triggers.
refresh propnpm install react-native-custom-refresh-control
# or
yarn add react-native-custom-refresh-control
This library requires react-native-reanimated as a peer dependency. Make sure it is installed:
npm install react-native-reanimated
# or
yarn add react-native-reanimated
Wrap your scrollable content inside ReanimatedRefresh and provide necessary props:
import React, { useState } from "react";
import { View, Text } from "react-native";
import ReanimatedRefresh from "react-native-custom-refresh-control";
const Example = () => {
const [refreshing, setRefreshing] = useState(false);
const fetchData = async () => {
setRefreshing(true);
// Simulate API call or async operation
await new Promise((resolve) => setTimeout(resolve, 2000));
setRefreshing(false);
};
return (
<ReanimatedRefresh
refresh={refreshing}
onRefresh={fetchData}
maxPull={150}
triggerFraction={0.5}
headerText="Loading..."
textComponent={
<Text style={{ color: "purple", fontWeight: "700" }}>
Refreshing...
</Text>
}
>
<View
style={{
height: 1000,
justifyContent: "center",
alignItems: "center",
}}
>
<Text>Scroll me to refresh!</Text>
</View>
</ReanimatedRefresh>
);
};
export default Example;
| Prop | Type | Default | Description |
|---|---|---|---|
onRefresh | () => Promise<void> | — | Callback fired when refresh is triggered. |
maxPull | number | 150 | Maximum pull distance to trigger refresh. |
triggerFraction | number | 0.5 | Fraction of maxPull to trigger refresh. |
gradientColors | string[] | ['#FF6A00', '#EE0979', '#FF6A00'] | Gradient colors for masked text (optional). |
loaderSource | ImageSource | Default loader.png | Custom loader image. |
headerText | string | 'Loading' | Default text displayed during refresh. |
textComponent | ReactNode | Default <Text> with headerText | Custom component for header text. |
style | object | {} | Custom style for the root container. |
refresh | boolean | false | External trigger for programmatic refresh. |
FAQs
react-native-custom-refresh is a highly customizable pull-to-refresh component for React Native, built with Reanimated 2. It provides smooth pull-to-refresh animations with a rotating loader and customizable header text or components. Supports both user-i
We found that react-native-custom-refresh demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.

Research
/Security News
Campaign of 108 extensions harvests identities, steals sessions, and adds backdoors to browsers, all tied to the same C2 infrastructure.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.