1.0.2 • Published 4 years ago

safe-spinner v1.0.2

Weekly downloads
1
License
MIT
Repository
-
Last release
4 years ago

Safe Spinner

This package helps address the risk of 'infinite spinners' by allowing you to fire a handler when they occur. Generally this would send an event to a service like Sentry.

This component only renders it's children, it does not add any new UI element.

Installation

npm install safe-spinner

yarn add safe-spinner

Note: typescript definitions are included out of the box

Usage

Props

nametyperequireddefault
onTimeout() => voidyesundefined
timeoutnumber (ms)no10000

Using the default 10 second timeout

import React from 'react';
import SafeSpinner from 'safe-spinner';
import Spinner from './Spinner';

const handleSpinnerTimeout = () => {
  console.log('the spinner timed out after the 10 second default');
};
const MyComponent = () => {
  <SafeSpinner onTimeout={handleSpinnerTimeout}>
    <Spinner />
  </SafeSpinner>;
};

Using a custom timeout

import React from 'react';
import SafeSpinner from 'safe-spinner';
import Spinner from './Spinner';

const handleSpinnerTimeout = () => {
  console.log('the spinner timed out after 60 seconds ');
};
const MyComponent = () => {
  <SafeSpinner onTimeout={handleSpinnerTimeout} timeout={60000}>
    <Spinner />
  </SafeSpinner>;
};