DebouncerMixin<T extends StatefulWidget> mixin

A mixin for State subclasses that manages a Debouncer automatically.

The debouncer is created lazily on first use and disposed alongside the widget — you never need to manually call Debouncer.dispose.

Basic usage

class _SearchBarState extends State<SearchBar> with DebouncerMixin {
  void _onChanged(String query) {
    debounce(() => _search(query));
  }
}

Custom delay

@override
Duration get debounceDuration => const Duration(milliseconds: 500);

Custom strategy

@override
DebouncerStrategy get debouncerStrategy => const LeadingEdgeStrategy();
Superclass constraints

Properties

context BuildContext
The location in the tree where this widget builds.
no setterinherited
debounceDuration Duration
How long to wait after the last call before firing. Default: 300 ms.
no setter
debouncerHooks LifecycleHooks?
Optional LifecycleHooks. Override to receive fire/cancel callbacks.
no setter
debouncerLogger DebouncerLogger?
Optional DebouncerLogger. Override to enable logging.
no setter
debouncerStrategy DebouncerStrategy
Which DebouncerStrategy to use. Default: TrailingEdgeStrategy.
no setter
hashCode int
The hash code for this object.
no setterinherited
hasPendingDebounce bool
true if a debounced call is currently waiting to fire.
no setter
mounted bool
Whether this State object is currently in a tree.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
widget → T
The current configuration.
no setterinherited

Methods

activate() → void
Called when this object is reinserted into the tree after having been removed via deactivate.
inherited
build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
inherited
cancelDebounce() → void
Cancels any currently-pending debounced action.
deactivate() → void
Called when this object is removed from the tree.
inherited
debounce(VoidCallback action) → void
Schedules action through the widget-scoped debouncer.
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
didChangeDependencies() → void
Called when a dependency of this State object changes.
inherited
didUpdateWidget(covariant T oldWidget) → void
Called whenever the widget configuration changes.
inherited
dispose() → void
Called when this object is removed from the tree permanently.
override
initState() → void
Called when this object is inserted into the tree.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
reassemble() → void
Called whenever the application is reassembled during debugging, for example during hot reload.
inherited
setState(VoidCallback fn) → void
Notify the framework that the internal state of this object has changed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringShort() String
A brief description of this object, usually just the runtimeType and the hashCode.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited