2.0.3 • Published 2 years ago

@mdoudkin/nextjs-swr-wrapper v2.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

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

2 years ago

2.0.2

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.0.0

2 years ago