suspense-query
TypeScript icon, indicating that this package has built-in type declarations

0.0.3 • Public • Published

React Suspense Query

A library for React Suspense Query management

Usage

Assume you have a function getUserDetails that gets the user details:

useQueryData

let { userId } = useParams();

// useQueryControls<TData, TArgs extends unknown[], TError>(query, options?);
// infered user type from fn: User
let user = useQueryData(getUserDetails, {
	args: [+userId],
});

useQueryError

// useQueryError<TError>(query)
let error = useQueryError(getUserDetails);

useQueryControls

// needs types annotation
// useQueryControls<TData, TArgs extends unknown[], TError>(query)
let { isPending, run, setData, setError } = useQueryControls(getUserDetails);

useMutation

// needs types annotation
// useMutation<T, A extends unknown[], R>(mutation, queriesToInvalidateOnSuccess?)
let [run, isPending] = useMutation(updateUser, [getUserDetails]);



run(newUserData);

Roadmap

  • [x] Basic Query sharing and manipulation
  • [ ] Cache management
  • [ ] Mutations
  • [ ] SSR
  • [ ] RSC

Dependencies (0)

    Dev Dependencies (39)

    Package Sidebar

    Install

    npm i suspense-query

    Weekly Downloads

    1

    Version

    0.0.3

    License

    MIT

    Unpacked Size

    152 kB

    Total Files

    38

    Last publish

    Collaborators

    • incepter