useTimer function
Creates a Timer.
The timer is automatically cancelled when the widget is unmounted.
Implementation
Timer useTimer(Duration duration, void Function() callback,
{bool periodic = false}) {
final timer = periodic
? Timer.periodic(duration, (_) => callback())
: Timer(duration, callback);
onBeforeUnmount(timer.cancel);
return timer;
}