JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 209
  • Score
    100M100P100Q80565F
  • License ISC

Simple Customizable Global React Loader

Package Exports

  • react-global-loader
  • react-global-loader/dist/index.es.js
  • react-global-loader/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-global-loader) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

React Global Loader

Simple Customizable Global React Loader.

Install

npm i react-global-loader

Simple Usage

// App.js
import { LoaderContainer } from "react-global-loader";

export default function App() {

    return (
        <div>
            <LoaderContainer />
        </div>
    )
}

// Component/Pages

import { loader } from "react-global-loader"

export default function PageName() {

    const showLoader = () => {
        loader.show();
    };

    const hideLoader = () => {
        loader.hide();
    };

    useEffect(()=>{
        showLoader();

        setTimeout(() => {
            hideLoader();
        }, 3000);
    });

    return (<div>Page 1</div>)
}

Extended Usage

import CustomLoaderComponent from "./components"
import { LoaderContainer, loader } from "react-global-loader";

export default function App() {

    const showLoader = () => {
        loader.show();
    };

    const hideLoader = () => {
        loader.hide();
    };

    useEffect(()=>{
        showLoader();

        setTimeout(() => {
            hideLoader();
        }, 3000);
    });

    const Arrow = () => (
        <div
        style={{
            width: 0,
            height: 0,
            borderTop: "10px solid transparent",
            borderRight: "20px solid red",
            borderBottom: "10px solid transparent",
        }}
        ></div>
    );

    return (<div>
         <LoaderContainer opacity={0.5} backgroundColor="#ccc">
             <div style={{ display: "inline-flex" }}>
                <Arrow />
                <div style={{ marginLeft: "10px" }}> Custom Loader</div>
            </div>
         </LoaderContainer>
    </div>)
}