import { useWait, Waiter } from 'react-wait'; const Spinner = () => ; function A() { const { isWaiting } = useWait(); return (
{isWaiting('creating user') ? 'Creating User...' : 'Nothing happens'}
); } function B() { const { anyWaiting } = useWait(); return (
{anyWaiting() ? 'Something happening on app...' : 'Nothing happens'}
); } function C() { const { startWaiting, endWaiting, isWaiting, Wait } = useWait(); function createUser() { startWaiting('creating user'); // Faking the async work: setTimeout(() => { endWaiting('creating user'); }, 1000); } return ( ); } const MyComponent = () => ( );