UNPKG

@kappys/react-query-suspense

Version:

Library to avoid render complex items when the state or data is not ready yet.

8 lines (6 loc) 809 B
import { useQueryClient, QueriesObserver } from '@tanstack/react-query'; import a from 'react'; var u=({queryKeys:o,context:s=void 0})=>{let t=useQueryClient();return new QueriesObserver(s!==void 0?s:t,o.map(e=>({queryKey:e}))).getCurrentResult().map(e=>e.fetchStatus==="fetching"&&e.status==="loading"||e.isError).some(e=>e)};var n=({context:o,queryKeys:s,deferredFetch:t=!1})=>{let r=u({queryKeys:s,context:o}),m=a.useRef(r);return r&&(m.current=!0),t?!(!r&&m.current):r};var b=({queryKeys:o,Fallback:s,deferredFetch:t,children:r,context:m})=>{let e=n({queryKeys:o,context:m,deferredFetch:t});return a.createElement(a.Fragment,null,e?s:r)}; export { b as ReactQuerySuspense, u as useReactQueryPromiseTracker, n as useReactQuerySuspense }; //# sourceMappingURL=out.js.map //# sourceMappingURL=index.mjs.map