Skip to content
IC Reactor

createSuspenseInfiniteQueryFactory

createSuspenseInfiniteQueryFactory<Service, Transform, Method, TPageParam, Selected>(reactor, config): SuspenseInfiniteQueryFactoryFn<Service, Method, Transform, TPageParam, Selected>

Defined in: react/src/createSuspenseInfiniteQuery.ts:531

Create a suspense infinite query factory that accepts getArgs at call time. Useful when pagination logic varies by context.

Service

The actor interface type

Transform extends keyof TransformArgsRegistry<unknown>

The transformation key (identity, display, etc.)

Method extends string = FunctionName<Service>

The method name on the actor

TPageParam = unknown

The page parameter type

Selected = InfiniteData<ReactorQueryData<ReactorReturnOk<Service, Method, Transform>>, TPageParam>

The type returned after select transformation

Reactor<Service, Transform>

The Reactor instance

SuspenseInfiniteQueryFactoryConfig<NoInfer<Service>, Method, Transform, TPageParam, Selected>

Suspense infinite query configuration (without getArgs)

SuspenseInfiniteQueryFactoryFn<Service, Method, Transform, TPageParam, Selected>

A function that accepts getArgs and returns an SuspenseActorInfiniteQueryResult

const getPostsQuery = createActorSuspenseInfiniteQueryFactory(reactor, {
functionName: "get_posts",
initialPageParam: 0,
getKeyArgs: (args) => {
const [{ userId }] = args
return [{ userId }]
},
getNextPageParam: (lastPage) => lastPage.nextCursor,
})
// Create query with specific args builder
const userPostsQuery = getPostsQuery((cursor) => [{ userId, cursor, limit: 10 }])
const { data, fetchNextPage } = userPostsQuery.useSuspenseInfiniteQuery()
// Optional: append a manual query-key suffix in addition to auto key args
const scopedPostsQuery = getPostsQuery(
(cursor) => [{ userId, cursor, limit: 10 }],
{ queryKey: ["v2"] }
)