PromiseComponent.tsx 489 B

1234567891011121314151617181920
  1. import React from 'react';
  2. import Loading from "./Loading";
  3. import Error from "./Error";
  4. type PromiseComponentProps = {
  5. loading: boolean,
  6. error: any,
  7. message: string,
  8. }
  9. const PromiseComponent: React.FunctionComponent<PromiseComponentProps> = ({ loading, error, message, children }) => {
  10. if (loading && !error) {
  11. return <Loading text={ message } />;
  12. } else if (error) {
  13. return <Error error={error} />;
  14. }
  15. return <>{ children }</>;
  16. }
  17. export default PromiseComponent;