Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Loading Screen with Naming
import * as React from "react";
import hoistNonReactStatics from 'hoist-non-react-statics';
import { View, ActivityIndicator } from "react-native";
const withLoadingScreen = (size = "small") => WrappedComponent => {
class LoadingScreen extends React.PureComponent {
render() {
if (this.props.loading) return <ActivityIndicator size={size} color="white" />
return <WrappedComponent {...this.props} />;
hoistNonReactStatics(LoadingScreen, WrappedComponent);
LoadingScreen.displayName = `WithLoadingScreen(${getDisplayName(
return LoadingScreen
function getDisplayName(WrappedComponent) {
return (
WrappedComponent.displayName || || "LoadingScreen"
export default withLoadingScreen;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.