@@ -88,93 +88,94 @@ export function useQueryBasic<T = unknown>(
8888
8989 const [ data , setData ] = useState < T > ( use ( promise ) )
9090
91- function subscribeHandler ( ) {
92- function onResolved ( event : CustomEventInit < T > ) {
93- startTransition ( function ( ) {
94- setData ( event . detail as T )
95- } )
96- }
97-
98- function onMutating ( event : CustomEventInit < Promise < T > > ) {
99- startTransition ( async function ( ) {
100- const value = await ( event . detail as Promise < T > )
101-
91+ useEffect (
92+ function ( ) {
93+ function onResolved ( event : CustomEventInit < T > ) {
10294 startTransition ( function ( ) {
103- setData ( value )
95+ setData ( event . detail as T )
10496 } )
105- } )
106- }
97+ }
10798
108- function onMutated ( event : CustomEventInit < T > ) {
109- startTransition ( function ( ) {
110- setData ( event . detail as T )
111- } )
112- }
99+ function onMutating ( event : CustomEventInit < Promise < T > > ) {
100+ startTransition ( async function ( ) {
101+ const value = await ( event . detail as Promise < T > )
113102
114- function onHydrated ( event : CustomEventInit < T > ) {
115- startTransition ( function ( ) {
116- setData ( event . detail as T )
117- } )
118- }
103+ startTransition ( function ( ) {
104+ setData ( value )
105+ } )
106+ } )
107+ }
119108
120- function onRefetching ( event : CustomEventInit < Promise < T > > ) {
121- startTransition ( async function ( ) {
122- const value = await ( event . detail as Promise < T > )
109+ function onMutated ( event : CustomEventInit < T > ) {
110+ startTransition ( function ( ) {
111+ setData ( event . detail as T )
112+ } )
113+ }
123114
115+ function onHydrated ( event : CustomEventInit < T > ) {
124116 startTransition ( function ( ) {
125- setData ( value )
117+ setData ( event . detail as T )
126118 } )
127- } )
128- }
119+ }
129120
130- function onForgotten ( ) {
131- if ( clearOnForget ) {
121+ function onRefetching ( event : CustomEventInit < Promise < T > > ) {
132122 startTransition ( async function ( ) {
133- const data = await query < T > ( key , {
134- expiration : oExpiration ,
135- fetcher : oFetcher ,
136- stale : oStale ,
137- removeOnError : oRemoveOnError ,
138- fresh : oFresh ,
139- } )
123+ const value = await ( event . detail as Promise < T > )
140124
141125 startTransition ( function ( ) {
142- setData ( data )
126+ setData ( value )
143127 } )
144128 } )
145129 }
146- }
147-
148- const unsubscribeResolved = subscribe ( key , 'resolved' , onResolved )
149- const unsubscribeMutating = subscribe ( key , 'mutating' , onMutating )
150- const unsubscribeMutated = subscribe ( key , 'mutated' , onMutated )
151- const unsubscribeHydrated = subscribe ( key , 'hydrated' , onHydrated )
152- const unsubscribeRefetching = subscribe ( key , 'refetching' , onRefetching )
153- const unsubscribeForgotten = subscribe ( key , 'forgotten' , onForgotten )
154-
155- return function ( ) {
156- unsubscribeResolved ( )
157- unsubscribeMutating ( )
158- unsubscribeMutated ( )
159- unsubscribeHydrated ( )
160- unsubscribeRefetching ( )
161- unsubscribeForgotten ( )
162- }
163- }
164-
165- useEffect ( subscribeHandler , [
166- query ,
167- expiration ,
168- subscribe ,
169- key ,
170- clearOnForget ,
171- oExpiration ,
172- oFetcher ,
173- oStale ,
174- oRemoveOnError ,
175- oFresh ,
176- startTransition ,
177- ] )
130+
131+ function onForgotten ( ) {
132+ if ( clearOnForget ) {
133+ startTransition ( async function ( ) {
134+ const data = await query < T > ( key , {
135+ expiration : oExpiration ,
136+ fetcher : oFetcher ,
137+ stale : oStale ,
138+ removeOnError : oRemoveOnError ,
139+ fresh : oFresh ,
140+ } )
141+
142+ startTransition ( function ( ) {
143+ setData ( data )
144+ } )
145+ } )
146+ }
147+ }
148+
149+ const unsubscribeResolved = subscribe ( key , 'resolved' , onResolved )
150+ const unsubscribeMutating = subscribe ( key , 'mutating' , onMutating )
151+ const unsubscribeMutated = subscribe ( key , 'mutated' , onMutated )
152+ const unsubscribeHydrated = subscribe ( key , 'hydrated' , onHydrated )
153+ const unsubscribeRefetching = subscribe ( key , 'refetching' , onRefetching )
154+ const unsubscribeForgotten = subscribe ( key , 'forgotten' , onForgotten )
155+
156+ return function ( ) {
157+ unsubscribeResolved ( )
158+ unsubscribeMutating ( )
159+ unsubscribeMutated ( )
160+ unsubscribeHydrated ( )
161+ unsubscribeRefetching ( )
162+ unsubscribeForgotten ( )
163+ }
164+ } ,
165+ [
166+ query ,
167+ expiration ,
168+ subscribe ,
169+ key ,
170+ clearOnForget ,
171+ oExpiration ,
172+ oFetcher ,
173+ oStale ,
174+ oRemoveOnError ,
175+ oFresh ,
176+ startTransition ,
177+ ]
178+ )
178179
179180 return useMemo (
180181 function ( ) : BasicResource < T > {
0 commit comments