File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -19,33 +19,30 @@ export const PersistQueryClientProvider = ({
1919} : PersistQueryClientProviderProps ) : JSX . Element => {
2020 const [ isHydrating , setIsHydrating ] = React . useState ( true )
2121 const refs = React . useRef ( { persistOptions, onSuccess } )
22- const previousPromise = React . useRef ( Promise . resolve ( ) )
2322
2423 React . useEffect ( ( ) => {
2524 refs . current = { persistOptions, onSuccess }
2625 } )
2726
2827 React . useEffect ( ( ) => {
28+ let isStale = false
2929 setIsHydrating ( true )
3030 const [ unsubscribe , promise ] = persistQueryClient ( {
3131 ...refs . current . persistOptions ,
3232 queryClient : client ,
3333 } )
3434
35- async function handlePersist ( ) {
36- try {
37- await previousPromise . current
38- previousPromise . current = promise
39- await promise
35+ promise . then ( ( ) => {
36+ if ( ! isStale ) {
4037 refs . current . onSuccess ?.( )
41- } finally {
4238 setIsHydrating ( false )
4339 }
44- }
45-
46- void handlePersist ( )
40+ } )
4741
48- return unsubscribe
42+ return ( ) => {
43+ isStale = true
44+ unsubscribe ( )
45+ }
4946 } , [ client ] )
5047
5148 return (
You can’t perform that action at this time.
0 commit comments