UNPKG

react-preloading-screen

Version:

<p align="center"> <img alt="logo" title="react-preloading-screen" src="logo.svg" width="250"> </p> <p align="center"><b>react-preloading-screen</b></p> <p align="center">Minimal preloading component for React</p>

67 lines (48 loc) 1.78 kB
<p align="center"> <img alt="logo" title="react-preloading-screen" src="logo.svg" width="250"> </p> <p align="center"><b>react-preloading-screen</b></p> <p align="center">Minimal preloading component for React</p> ## About This is a React component that implements a preloading screen functionality in React. [Demo can be found here](https://react-preloading-screen.now.sh) ## Installation ```bash npm install --save react-preloading-screen ``` or ```bash yarn add react-preloading-screen ``` ## Usage Wrap your app in a `Preloader` component and add a `Placeholder` component inside with the content of your preloading screen: ```jsx import React from 'react'; import { Preloader, Placeholder } from 'react-preloading-screen'; class MyApp extends React.Component { render() { return ( <Preloader> <h1>Welcome to my app!</h1> <h2>It's being preloaded!</h2> <Placeholder> <span>Loading...</span> </Placeholder> </Preloader> ); } } ``` ## Props `Preloader` component supports the following props: | Prop | Explanation | | ------------- | ------------- | |`fadeDuration` | Amount of time it takes for preloader to fade out (ms)| |`className` | Class name passed to preloader `div` |`style` | JSX Style object to override preloader styles. _**Keep in mind:** Opacity attribute is used for fade animation._| ## How it works This component uses `requestAnimationFrame` to check for `document.readyState` and removes overlay once it's complete. ### `requestAnimationFrame` polyfill For browsers that don't support `requestAnimationFrame` there's a [polyfill](https://github.com/milosdjakonovic/requestAnimationFrame-polyfill) provided that you can import: ```jsx import 'react-preloading-screen/raf-polyfill'; ```