flutter_use
Essential Flutter hooks collection with 36 production-ready hooks for async operations, form management, UI interactions, and state management.
Play Flutter Hooks.
Essential Flutter hooks collection with 36 production-ready hooks for async operations, form management, UI interactions, and state management.
Audio playback hooks for Flutter applications. Provides useAudio hook for managing audio playback with controls, state management, and position tracking.
Battery monitoring hooks for Flutter applications. Provides useBattery hook for real-time battery level and charging state tracking across platforms.
Geolocation hooks for Flutter applications. Provides useGeolocation hook for GPS tracking, position updates, and location-aware features with permission handling.
Network connectivity hooks for Flutter applications. Provides useNetworkState hook for monitoring connection status, network type, and handling offline scenarios.
Device sensor hooks for Flutter applications. Provides accelerometer, gyroscope, and magnetometer hooks for motion detection and device orientation tracking.
Video playback hooks for Flutter applications. Provides useAssetVideo and useNetworkVideo hooks for comprehensive video player functionality and state management.
^3.1.1English project snapshot. Visit GitHub for the latest content.
A collection of Flutter Hooks inspired by React's react-use library. This monorepo contains multiple packages providing different categories of hooks for Flutter development.
| Package | Description | Version |
|---|---|---|
flutter_use |
Core hooks library with essential utilities | pub package |
flutter_use_audio |
Audio playback and control hooks | pub package |
flutter_use_battery |
Battery state monitoring hooks | pub package |
flutter_use_geolocation |
Location and permission hooks | pub package |
flutter_use_network_state |
Network connectivity hooks | pub package |
flutter_use_sensors |
Device sensors hooks | pub package |
flutter_use_video |
Video playbook hooks | pub package |
For the core package:
flutter pub add flutter_use
For specialized packages:
flutter pub add flutter_use_audio # Audio hooks
flutter pub add flutter_use_battery # Battery hooks
# ... and so on
Try out all hooks with live examples at: https://wasabeef.github.io/flutter_use/
Core package: flutter_use
useAsync — manages async operations with loading, data, and error states.useDebounceFn — debounces function calls for better performance.useInfiniteScroll — implements infinite scrolling with automatic loading.useForm — comprehensive form state management with validation.useKeyboard — tracks keyboard visibility and manages layouts (mobile only).Core package: flutter_use
useToggle and useBoolean — tracks state of a boolean.useCounter and useNumber — tracks state of a number.useList — tracks state of an array.useMap — tracks state of a map.useSet — tracks state of a Set.useStateList — circularly iterates over an array.useDefault — returns the default value when state is null.useLatest — returns the latest state or props.usePreviousDistinct — like usePrevious but with a predicate to determine if previous should update.useTextFormValidator — reactive form validation with real-time feedback.Core package: flutter_use
useInterval — re-builds component on a set interval using Timer.periodic.useTimeout — re-builds component after a timeout.useTimeoutFn — calls given function after a timeout.useUpdate — returns a callback, which re-builds component when called.Core package: flutter_use
useFutureRetry — useFuture with an additional retry method.useDebounce — debounces a function.useThrottle — throttles a value to update at most once per duration.useThrottleFn — throttles a function to execute at most once per duration.useError — error dispatcher.useException — exception dispatcher.Core package: flutter_use
useScroll — tracks a widget's scroll position.useScrolling — tracks whether widget is scrolling.useClickAway — triggers callback when user clicks outside target area.useCopyToClipboard — copies text to clipboard.Core package: flutter_use
useEffectOnce — a modified useEffect hook that only runs once.useLifecycles — calls mount and unmount callbacks.useMount — calls mount callbacks.useUnmount — calls unmount callbacks.useUpdateEffect — run an effect only on updates.useCustomCompareEffect — run an effect depending on deep comparison of its dependencies.useFirstMountState — check if current build is first.useBuildsCount — count component builds.Core package: flutter_use
useLogger — logs in console as component goes through life-cycles.Package: flutter_use_sensors
useAccelerometer, useUserAccelerometer, useGyroscope, and useMagnetometer — tracks accelerometer, gyroscope, and magnetometer sensors. sensors_plusCore package: flutter_use
useOrientation — tracks state of device's screen orientation.useOrientationFn — calls given function when screen orientation changes.Package: flutter_use_battery
useBattery — tracks device battery state. battery_plusPackage: flutter_use_geolocation
useGeolocation — tracks geo location and permission state of user's device. geolocatorPackage: flutter_use_network_state
useNetworkState — tracks the state of apps network connection. connectivity_plusPackage: flutter_use_audio
useAudio — plays audio and exposes its controls. just_audioPackage: flutter_use_video
useAssetVideo and useNetworkVideo — plays video, tracks its state, and exposes playback controls. video_playeruseEvent — subscribe to events.useFullscreen — display an element or video full-screen.usePageLeave — triggers when mouse leaves page boundaries.usePermission — query permission status for apps APIs.useMethods — neat alternative to useReducer.useSetState — creates setState method which works like this.setState.usePromise — resolves promise only while component is mounted.useObservable — tracks latest value of an Observable.Unlicense — public domain.