mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 07:55:18 +00:00
18 lines
349 B
Dart
18 lines
349 B
Dart
import 'dart:async';
|
|
|
|
import 'package:flutter_hooks/flutter_hooks.dart';
|
|
|
|
T useDebounce<T>(
|
|
T value, [
|
|
Duration delay = const Duration(milliseconds: 500),
|
|
]) {
|
|
final state = useState<T>(value);
|
|
|
|
useEffect(() {
|
|
final timer = Timer(delay, () => state.value = value);
|
|
return timer.cancel;
|
|
}, [value, delay]);
|
|
|
|
return state.value;
|
|
}
|