
Research
Security News
The Growing Risk of Malicious Browser Extensions
Socket researchers uncover how browser extensions in trusted stores are used to hijack sessions, redirect traffic, and manipulate user behavior.
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 296 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
Socket researchers uncover how browser extensions in trusted stores are used to hijack sessions, redirect traffic, and manipulate user behavior.
Research
Security News
An in-depth analysis of credential stealers, crypto drainers, cryptojackers, and clipboard hijackers abusing open source package registries to compromise Web3 development environments.
Security News
pnpm 10.12.1 introduces a global virtual store for faster installs and new options for managing dependencies with version catalogs.