react-async-button

0.2.0 • Public • Published

react-async-button

React button component for handling async actions. Inspired from ember-async-button

npm version Build Status Coverage Status

Installation

$ npm install react-async-button --save

DOCS & DEMO

https://selvagsz.github.io/react-async-button/

Example

 
import React from 'react';
import { render } from 'react-dom';
import AsyncButton from 'react-async-button';
 
export default App extends Component {
  clickHandler() {
    return new Promise((resolve, reject) => {
      // some async stuff
      setTimeout(resolve, 500);
    })
  }
 
  render() {
    return (
      <AsyncButton
        className="btn"
        text="Save"
        pendingText="Saving..."
        fulFilledText="Saved Successfully!"
        rejectedText="Failed! Try Again"
        loadingClass="isSaving"
        fulFilledClass="btn-primary"
        rejectedClass="btn-danger"
        onClick={this.clickHandler}
       />
    )
  }
}
 
render(<App/>, document.getElementById('root'));
 

Note clickHandler should return a promise for the pending state

Package Sidebar

Install

npm i react-async-button

Weekly Downloads

2,558

Version

0.2.0

License

MIT

Last publish

Collaborators

  • selvagsz