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

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