react-with-spinner

[![Build Status](https://travis-ci.org/beanloop/react-with-spinner.svg?branch=master)](https://travis-ci.org/beanloop/react-with-spinner) [![npm version](https://badge.fury.io/js/react-with-spinner.svg)](https://badge.fury.io/js/react-with-spinner) [![Lic


Keywords
higher-order-component, loading-spinner, spinner
License
MIT
Install
npm install react-with-spinner@1.0.0

Documentation

react-with-spinner

Build Status npm version License

React HOC for displaying a Spinner component while loading.

Install

yarn add react-with-spinner
npm install --save react-with-spinner

Usage

By default withSpinner will look for the property data and if that property contains an loading property that is true then it will render a Spinner.

import compose from 'recompose/compose'
import {withSpinner} from 'react-with-spinner'
const Loading = () => <span>Loading...</span>

const Component = compose(
  WrappedComponent => props => <WrappedComponent {...props} data={{loading: true}} />,
  withSpinner({spinnerComponent: Loading}),
)(() => <div></div>)

You can override which property withSpinner should look for:

import compose from 'recompose/compose'
import {withSpinner} from 'react-with-spinner'

const Component = compose(
  WrappedComponent => props => <WrappedComponent {...props} result={{loading: true}} />,
  withSpinner({prop: 'result'}),
)(() => <div></div>)

For more usages, check out the tests

License

react-with-spinner is dual-licensed under Apache 2.0 and MIT terms.