Flutter Gems is a curated list of 7250+ useful Dart & Flutter packages that are categorized based on functionality.

Discord Medium LinkedIn X

Top Flutter Hooks packages

Last updated: May 18, 2026

Flutter Hooks (inspired by React Hooks) offer an alternative to StatefulWidget, allowing developers to extract and reuse complex lifecycle logic (like animation controllers and scroll listeners) across multiple widgets effortlessly.

Best Practices for Hooks

  • Eliminate Boilerplate: Use useAnimationController() or useTextEditingController(). The hook automatically handles instantiation in initState and cleanup in dispose, completely eliminating the need to write standard StatefulWidget boilerplate.
  • Custom Hooks: If you find yourself writing the exact same lifecycle logic in multiple places (like listening to a specific Stream and updating UI), extract it into a custom hook.
  • Rules of Hooks: Hooks must be called unconditionally within the build method. Do not place hooks inside if statements or loops, as the framework relies on the exact order of hook calls to maintain state accurately.

The complete list of Flutter Hooks, Reusable Lifecycle utilities, and Hook extensions is provided below.


flutter_hooks
👍 2.42K   ⬇️ 355.7K
Dart 3 compatible
Maintenance Status: Good

A flutter implementation of React hooks. It adds a new kind of widget with enhanced code reuse.

hooks_riverpod
👍 928   ⬇️ 331.5K
Dart 3 compatible
Maintenance Status: Good

A reactive caching and data-binding framework. Riverpod makes working with asynchronous code a breeze.

hooked_bloc
👍 94   ⬇️ 4.9K
Dart 3 compatible
Maintenance Status: Good

Flutter package that simplifies injection and usage of Bloc/Cubit.

flutter_use
👍 80   ⬇️ 5.9K
Dart 3 compatible
Maintenance Status: Good

Essential Flutter hooks collection with 36 production-ready hooks for async operations, form management, UI interactions, and state management.

stacked_hooks
👍 70   ⬇️ 3.7K
Dart 3 compatible
Maintenance Status: Poor

Classes that help you make use of hooks when using the stacked package

flutterlifecyclehooks
👍 52   ⬇️ 828
Dart 3 compatible
Maintenance Status: Average

A flutter package that let you easily add hooks for application lifecycle state

reactives
👍 44   ⬇️ 16
Dart 3 compatible
Maintenance Status: Poor

A new way to extract/group/reuse common logic of StatefulWidget. Think of them like React hooks but for and of flutter.

flutter_hooks_bloc
👍 35   ⬇️ 822
Dart 3 compatible
Maintenance Status: Good

A flutter_bloc reimplementation based on flutter_hooks with the same API.

use_optimistic
👍 5   ⬇️ 9
Dart 3 compatible
Maintenance Status: Poor

An easy-to-use hook to optimistically update generic state and then resolve it later asynchronously by `accept`, `acceptAs`, or `reject`-ing.

flutter_use_sensors
👍 4   ⬇️ 41
Dart 3 compatible
Maintenance Status: Good

Device sensor hooks for Flutter applications. Provides accelerometer, gyroscope, and magnetometer hooks for motion detection and device orientation tracking.

flutter_use_audio
👍 2   ⬇️ 37
Dart 3 compatible
Maintenance Status: Good

Audio playback hooks for Flutter applications. Provides useAudio hook for managing audio playback with controls, state management, and position tracking.

flutter_use_battery
👍 1   ⬇️ 44
Dart 3 compatible
Maintenance Status: Good

Battery monitoring hooks for Flutter applications. Provides useBattery hook for real-time battery level and charging state tracking across platforms.

flutter_use_network_state
👍 1   ⬇️ 39
Dart 3 compatible
Maintenance Status: Good

Network connectivity hooks for Flutter applications. Provides useNetworkState hook for monitoring connection status, network type, and handling offline scenarios.

flutter_use_video
👍 0   ⬇️ 44
Dart 3 compatible
Maintenance Status: Good

Video playback hooks for Flutter applications. Provides useAssetVideo and useNetworkVideo hooks for comprehensive video player functionality and state management.

flutter_use_geolocation
👍 0   ⬇️ 40
Dart 3 compatible
Maintenance Status: Good

Geolocation hooks for Flutter applications. Provides useGeolocation hook for GPS tracking, position updates, and location-aware features with permission handling.