import 'dart:async'; import 'package:flutter_hooks/flutter_hooks.dart'; void useAsyncEffect( FutureOr Function() effect, [ FutureOr Function()? cleanup, List? keys, ]) { useEffect(() { Future.microtask(effect); return () { if (cleanup != null) { Future.microtask(cleanup); } }; }, keys); }