1.0.7 • Published 3 years ago

@naporin0624/react-loader v1.0.7

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

react-loader

Simple data loader hooks that use Suspense.

Image from Gyazo

Usage

import { render } from "react-dom";
import { Suspense, useEffect, useState } from "react";
import { Cache, useLoader } from "@naporin0624/react-loader";

import Nprogress from "nprogress";
import "nprogress/nprogress.css";

const timeout = (ms: number) => {
  return new Promise() < number > ((resolve) => setTimeout(() => resolve(ms), ms));
};

const App = () => {
  const [count, setCount] = useState(100);
  const data = useLoader(`timeout_${count}`, () => timeout(count));

  return (
    <div>
      <input type="number" value={count} onChange={(e) => setCount(parseInt(e.target.value, 10))} step={100} min={0} />

      <p>result: {data}</p>
    </div>
  );
};

const Fallback = () => {
  useEffect(() => {
    Nprogress.start();
    return () => {
      Nprogress.done();
    };
  }, []);
  return null;
};

render(
  <Cache>
    <Suspense fallback={<Fallback />}>
      <Cache>
        <App />
      </Cache>
    </Suspense>
  </Cache>,
  document.getElementById("root")
);

LICENSE

MIT

1.0.7

3 years ago

1.0.6

3 years ago

1.0.2

3 years ago

1.0.4-alpha.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

1.0.5-alpha.0

3 years ago

1.0.5

3 years ago

1.0.0-alpha.0

3 years ago

1.0.3-alpha.0

3 years ago

0.1.2

3 years ago

0.2.0

3 years ago

0.1.3

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago

0.0.10

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago