@aicacia/async_component-react
TypeScript icon, indicating that this package has built-in type declarations

0.1.5 • Public • Published

ts-async_component-react

license docs npm (scoped) pipelines

aicacia async component for react

Async Component

import { Async } from "@aicacia/async_component-react";

<Async
  promise={Promise.resolve("Hello, world!")}
  onSuccess={(value) => value} // displays promise result "Hello, world!"
  onPending={() => "Loading..."}
  onError={(error) => error.message} // on error so message
/>;

useAsync hook

import { useAsync } from "@aicacia/async_component-react";

function AsyncHook() {
  const result = useAsync(Promise.resolve("Hello, world!"));

  return (
    <div>
      {result
        .map((result) => {
          if (result.isOk()) {
            return result.unwrap();
          } else {
            return result.unwrapErr().message;
          }
        })
        .unwrapOr("Loading...")}
    </div>
  );
}

Readme

Keywords

Package Sidebar

Install

npm i @aicacia/async_component-react

Weekly Downloads

1

Version

0.1.5

License

(MIT OR Apache-2.0)

Unpacked Size

21.4 kB

Total Files

15

Last publish

Collaborators

  • nathanfaucett