useDebounced<T> function
T
useDebounced<
T>( - T value, {
- required Duration duration,
})
Implementation
T useDebounced<T>(T value, {required Duration duration}) {
return useDebugGroup(
debugLabel: "useDebounced<$T>()",
debugFillProperties: (builder) => builder
..add(DiagnosticsProperty("value", value))
..add(DiagnosticsProperty("duration", duration)),
() {
final valueState = useState(value);
final isMounted = useIsMounted();
useEffect(() {
final timer = Timer(duration, () {
if (isMounted()) valueState.value = value;
});
return timer.cancel;
}, [value]);
return valueState.value;
},
);
}