[![npm](https://img.shields.io/npm/v/@wojtekmaj/react-async-button.svg)](https://www.npmjs.com/package/@wojtekmaj/react-async-button) ![downloads](https://img.shields.io/npm/dt/@wojtekmaj/react-async-button.svg) [![CI](https://github.com/wojtekmaj/react-async-button/workflows/CI/badge.svg)](https://github.com/wojtekmaj/react-async-button/actions) # @wojtekmaj/react-async-button A button that handles Promises for your React app. ## tl;dr - Install by executing `npm install @wojtekmaj/react-async-button` or `yarn add @wojtekmaj/react-async-button`. - Use by adding `import AsyncButton from '@wojtekmaj/react-async-button'` and passing `pendingConfig`, `successConfig`. ## Getting started ### Compatibility Your project needs to use React 16.8 or later. React-Async-Button is also compatible with React Native. ### Installation Add React-Async-Button to your project by executing `npm install @wojtekmaj/react-async-button` or `yarn add @wojtekmaj/react-async-button`. ### Usage Here's an example of basic usage: ```tsx import AsyncButton from '@wojtekmaj/react-async-button'; const pendingConfig = { children: 'Loading…', disabled: true, }; const successConfig = { children: 'Done', }; const errorConfig = { children: 'Try again', }; function MyComponent() { async function onClick(event) { // Do some async stuff } return ( Do async stuff ); } ``` ### Usage with React Native AsyncButton renders `