@mdoudkin/nextjs-swr-wrapper
TypeScript icon, indicating that this package has built-in type declarations

2.0.3 • Public • Published

npm (scoped) npm bundle size (minified)

Installation

$ npm install @mdoudkin/nextjs-swr-wrapper

Usage

// file: /api/something.ts
import { useUpdater } from "@mdoudkin/nextjs-swr-wrapper";
import { useCallback } from "react";

export const useCreateSomething = () => {
  const { act, isLoading, data, error } = useUpdater<Data, Error>({
    mutationKey: /https:\/\/example.com\/something.*/,
  });

  const actCallback = useCallback(
    (body) => act("https://example.com/something", "POST", body),
    [act]
  );

  return {
    act: actCallback,
    isLoading,
    data,
    error,
  };
};

// file: /components/something-form.tsx

export const SmtnForm = () => {
  const { act, isLoading, data, error } = useCreateSomething();

  return (
    <form onSubmit={(formData) => act(formData)}>
      ...
      <input type="submit" value="Create" disabled={isLoading}>
      <p>{error}</p>
    </form>
  )
};

Readme

Keywords

Package Sidebar

Install

npm i @mdoudkin/nextjs-swr-wrapper

Weekly Downloads

1

Version

2.0.3

License

MIT

Unpacked Size

18.6 kB

Total Files

6

Last publish

Collaborators

  • mdoudkin