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 = () => (
);
function testCreateWaitingContext() {
const { createWaitingContext } = useWait();
const { startWaiting, endWaiting, isWaiting, Wait } = createWaitingContext('creating user');
return (
}>
);
}
function testWaiters() {
const { waiters } = useWait();
return (
{waiters.map((waiter, index) => - {waiter}
)}
);
}