UNPKG

@auraxy/react-async-button

Version:

A button component of react, realizes the button auto-lock when it clicked and auto-unlock after the async action has done

36 lines (28 loc) 780 B
import React, { Dispatch, ReactNode } from 'react' declare enum Status { Normal = 0, Pending = 1, Success = 2, Failed = 3, } interface StatusContent { children?: ReactNode loadingContent?: ReactNode successContent?: ReactNode failedContent?: ReactNode } declare function useButtonStatus( contents: StatusContent, canUseAgain: boolean, ): [ReactNode, boolean, string, Dispatch<Status>] interface ButtonProps extends StatusContent, React.DetailedHTMLProps< React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement > { canUseAgain?: boolean onClick(e?: React.MouseEvent): Promise<any> } declare const ReactAsyncButton: React.FC<ButtonProps> export { ButtonProps, ReactAsyncButton, Status, StatusContent, useButtonStatus }