A common collection of reusable logic for react apps
npm install @pexip/hooks
//Some Component
import React from 'react';
//import hooks from the package like this
import {usePromise} from '@pexip/hooks';
function broadcastResult = (res) => {
console.log(res)
};
export const SomeComponent: React.FC<{}> = () => {
const {error, loading, handleAction: handleSubmitButton} = usePromise(
() => new Promise(resolve => {
setTimeout(() => resolve('foo'), 2000);
}),
broadcastResult,
error => {
if (error) {
throw error;
}
},
);
const ErrorMessage = error ? <p>{error}</p> : null;
return (
<Form onSubmit={handleSubmitButton}>
<Button
type="submit"
disabled={loading}
>
{loading ? 'Loading...' : 'Continue'}
</Button>
<ErrorMessage/>
</Form>
)
};