function useMutationState<TResult>(
host,
options,
queryClient?): MutationStateAccessor<TResult>;function useMutationState<TResult>(
host,
options,
queryClient?): MutationStateAccessor<TResult>;Defined in: packages/lit-query/src/useMutationState.ts:187
Creates a Lit reactive controller that selects state from matching mutations in the mutation cache.
When options.filters is a function, it is re-read during host updates so the selection can follow reactive host state. If queryClient is omitted, the controller resolves the client from the nearest connected QueryClientProvider.
TResult = MutationState<unknown, unknown, unknown, unknown>
ReactiveControllerHost
The Lit reactive controller host that owns the mutation cache subscription.
MutationStateOptions<TResult> = {}
Mutation state filters and optional selector.
QueryClient
Optional explicit query client. Provide this for controllers that should not resolve a client from Lit context.
MutationStateAccessor<TResult>
An accessor for the selected mutation state array.
import { LitElement, html } from 'lit'
import { useMutationState } from '@tanstack/lit-query'
class PendingUploads extends LitElement {
private readonly uploads = useMutationState(this, {
filters: { mutationKey: ['upload'], status: 'pending' },
select: (mutation) => mutation.state.variables as File,
})
render() {
return html`<span>${this.uploads().length} uploads pending</span>`
}
}import { LitElement, html } from 'lit'
import { useMutationState } from '@tanstack/lit-query'
class PendingUploads extends LitElement {
private readonly uploads = useMutationState(this, {
filters: { mutationKey: ['upload'], status: 'pending' },
select: (mutation) => mutation.state.variables as File,
})
render() {
return html`<span>${this.uploads().length} uploads pending</span>`
}
}