createSuspenseQueryFactory
createSuspenseQueryFactory<
Service,Transform,Method,Selected>(reactor,config):QueryFactoryFn<ReactorArgs<Service,Method,Transform>,SuspenseQueryResult<QueryFnData<Service,Method,Transform>,Selected,QueryError<Service,Method,Transform>>>
Defined in: react/src/createSuspenseQuery.ts:237
Create a suspense query factory: a function that takes the method’s args and returns the suspense query object for them, the same object for the same args.
The function also has getQueryKey(), the key prefix every query it
returns shares, and invalidate(), which invalidates all of them whatever
their args. Pass the function itself to a mutation’s invalidateQueries to
refresh every instance after the mutation.
Type Parameters
Section titled “Type Parameters”Service
Section titled “Service”Service
Transform
Section titled “Transform”Transform extends keyof TransformArgsRegistry<unknown>
Method
Section titled “Method”Method extends string = FunctionName<Service>
Selected
Section titled “Selected”Selected = QueryFnData<Service, Method, Transform>
Parameters
Section titled “Parameters”reactor
Section titled “reactor”Reactor<Service, Transform>
config
Section titled “config”SuspenseQueryFactoryConfig<NoInfer<Service>, Method, Transform, Selected>
Returns
Section titled “Returns”QueryFactoryFn<ReactorArgs<Service, Method, Transform>, SuspenseQueryResult<QueryFnData<Service, Method, Transform>, Selected, QueryError<Service, Method, Transform>>>
Example
Section titled “Example”const getBalance = createSuspenseQueryFactory(ledger, { functionName: "icrc1_balance_of",})
// In a component under <Suspense>const { data } = getBalance([{ owner, subaccount: [] }]).useSuspenseQuery()
// Refetch every account's balanceawait getBalance.invalidate()