@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>
  );
}

/@aicacia/async_component-react/

    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