
Research
Security News
The Landscape of Malicious Open Source Packages: 2025 MidโYear Threat Report
A look at the top trends in how threat actors are weaponizing open source packages to deliver malware and persist across the software supply chain.
react-native-auto-skeleton
Advanced tools
๐ Automatically generates skeleton based on your existing UI layout without manual configuration.
react-native-auto-skeleton
is a modern skeleton loader for React Native, designed to automatically render loading placeholders (shimmer-style) based on your existing layout.
Ideal replacement for
react-native-skeleton-placeholder
and other manual solutions.
Platform | Old Arch | Fabric |
---|---|---|
iOS | โ | โ |
Android | โ | โ |
Using npm:
npm install react-native-auto-skeleton
Using yarn:
yarn add react-native-auto-skeleton
This library works in Expo (with expo prebuild
) without additional configuration.
โ ๏ธ Warning: On Android, automatic detection of a viewโs border-radius is not supported. You can override it manually via the defaultRadius prop.
Here's a quick example to get started:
import { AutoSkeletonView, AutoSkeletonIgnoreView } from 'react-native-auto-skeleton';
...
<AutoSkeletonView isLoading={isLoading}>
...YOUR VIEWS
<AutoSkeletonIgnoreView> // Content that will be ignored by the skeleton
... Views without skeleton
</AutoSkeletonIgnoreView>
</AutoSkeletonView>
Full example
import { AutoSkeletonView } from 'react-native-auto-skeleton';
interface IProfile {
name: string;
jobTitle: string;
avatar: string;
}
const getProfile = async (): Promise<IProfile> => {
// Fetch profile data from your API
};
export default function App() {
const [isLoading, setIsLoading] = useState(true);
const [profile, setProfile] = useState<IProfile>({} as IProfile);
useEffect(() => {
(async () => {
const res = await getProfile();
setProfile(res);
setIsLoading(false);
})();
}, []);
return (
<AutoSkeletonView isLoading={isLoading}>
<View style={styles.avatarWithName}>
<Image style={styles.avatar} source={{ uri: profile.avatar }} />
<View style={{ flex: 1 }}>
<Text style={styles.name}>{profile.name}</Text>
<Text style={styles.jobTitle}>{profile.jobTitle}</Text>
</View>
</View>
{/* This buttons block will have skeleton applied */}
<View style={styles.buttons}>
<TouchableOpacity style={styles.button}>
<Text style={styles.buttonTitle}>Add</Text>
</TouchableOpacity>
<TouchableOpacity style={styles.button}>
<Text style={styles.buttonTitle}>Delete</Text>
</TouchableOpacity>
</View>
{/* Alternatively, to exclude buttons from skeleton rendering: */}
<AutoSkeletonIgnoreView>
<View style={styles.buttons}>
...
</View>
</AutoSkeletonIgnoreView>
</AutoSkeletonView>
);
}
Prop | type | Description |
---|---|---|
isLoading | boolean | Enables or disables the skeleton state |
shimmerSpeed | number | Duration of one shimmer animation cycle in seconds. Lower values = faster shimmer |
shimmerBackgroundColor | string | Background color for animation types: pulse and none |
gradientColors | [string,string] | Gradient colors for the skeleton gradient |
defaultRadius | number | Default corner radius for skeleton elements that don't have a defined borderRadius |
animationType | "gradient" | "pulse" | "none" | Skeleton animation |
<AutoSkeletonView>
.<AutoSkeletonIgnoreView>
. Any content inside this wrapper will not be processed by the skeleton system.You may also know:
If you're looking for a React Native skeleton loader that works automatically, with Fabric support, and no manual configuration, react-native-auto-skeleton
is your go-to solution.
React Native Skeleton, React Native Placeholder, react-native skeleton loader, react native shimmer, loading indicator React Native, Fabric placeholder view, auto skeleton view, react native content loader.
FAQs
๐ Automatically generates skeleton based on your existing UI layout without manual configuration.
The npm package react-native-auto-skeleton receives a total of 288 weekly downloads. As such, react-native-auto-skeleton popularity was classified as not popular.
We found that react-native-auto-skeleton 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.
Research
Security News
A look at the top trends in how threat actors are weaponizing open source packages to deliver malware and persist across the software supply chain.
Security News
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
Security News
CISA is discontinuing official RSS support for KEV and cybersecurity alerts, shifting updates to email and social media, disrupting automation workflows.