flutter_hooks 0.20.5 copy "flutter_hooks: ^0.20.5" to clipboard
flutter_hooks: ^0.20.5 copied to clipboard

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

0.20.5 - 2024-02-05 #

  • Deprecate the useIsMounted hook as you should use BuildContext.mounted instead if you're on Flutter 3.7.0 or greater

0.20.4 - 2023-12-29 #

  • Added useDebounced (thanks to @itisnajim)
  • Removed @visibleForTesting on HookMixin

0.20.3 - 2023-10-10 #

  • Added useExpansionTileController (thanks to @droidbg)
  • Added useMaterialStateController (thanks to @AdamHavlicek)

0.20.2 - 2023-10-02 #

  • Fixed key matching algorithm incorrectly not checking all keys if a 0 or a NaN is present (thanks to @AlexDochioiu)

0.20.1 - 2023-08-29 #

  • useListenableSelector now supports null listeners (thanks to @JWo1F)

0.20.0 - 2023-07-25 #

  • Breaking: keys comparison has changed under the following conditions:
    • Change from double.nan to double.nan preserves the state.
    • Change from 0.0 to -0.0 or vice versa does NOT preserve the state.
  • Added useOnStreamChange (thanks to @jezsung)

0.19.0 - 2023-07-10 #

  • Added useSearchController (thanks to @snapsl)
  • Keys on useCallback are now optional, to match useMemoized (thanks to @jezsung)
  • Update usePlatformBrightness to stop relying on deprecated code

0.18.6 #

  • Added korean translation (thanks to @sejun2)
  • Add useFocusScopeNode hook (thanks to @iamsahilsonawane)

0.18.5+1 #

Update links to the repository

0.18.5 #

  • Added useListenableSelector, similar to useListenable, for listening to a Listenable but rebuilding the widget only if a certain data has changed (thanks to @ronnieeeeee)
  • Added useAutomaticKeepAlive (thanks to @DevNico)
  • Added usePlatformBrightness and useOnPlatformBrightnessChange to interact with platform Brightness (thanks to @AhmedLSayed9)

0.18.4 #

Upgrade to Flutter 3.0.0

0.18.3 #

Added onKeyEvent to useFocusNode (thanks to @kdelorey)

0.18.2+1 #

Improved the documentation (thanks to @Renni771)

0.18.2 #

  • Allow null in useListenable

0.18.1 #

  • Added useTransformationController, to create a TransformationController (thanks to @shrouxm)
  • Added useAppLifecycleState and useOnAppLifecycleStateChange to interact with AppLifecycleState (thanks to @francipvb)

0.18.0 #

  • Breaking: useRef now receive an initial value as parameter. To migrate, you can change:

    ObjectRef<int> ref = useRef<int>();
    

    to:

    ObjectRef<int?> ref = useRef<int?>(null);
    
  • Updated useStream/useFuture to match the behavior of StreamBuilder/FutureBuilder regarding initial values.

  • Added a reverseDuration parameter to useAnimationController

0.17.0 #

  • useFuture/useStream's AsynsSnapshot now correctly expose the StackTrace when there is an error.
  • added useRef and useCallback, similar to the React equivalents.
  • initialData of useStream and useFuture is now optional.

0.16.0 #

Stable null-safety release

0.16.0-nullsafety.0 #

Migrated flutter_hooks to null-safety (special thanks to @DevNico for the help!)

0.15.0 #

  • Added usePageController to create a PageController

0.14.1 #

  • Increased the minimum version of the Flutter SDK required to match changes on useFocusNode

    The minimum required is now 1.20.0 (the stable channel is at 1.20.4)

0.14.0 #

  • added all FocusNode parameters to useFocusNode
  • Fixed a bug where on hot-reload, a HookWidget could potentially not rebuild
  • Allow hooks to integrate with the devtool using the Diagnosticable API, and implement it for all built-in hooks.

0.13.1 #

  • useIsMounted now returns a function instead of a callable class.

0.13.0 #

  • Added useIsMounted to determine whether a widget was destroyed or not (thanks to @davidmartos96)

0.12.0 #

  • Added useScrollController to create a ScrollController
  • added useTabController to create a TabController (thanks to @Albert221)

0.11.0 #

Breaking change:

  • Removed HookState.didBuild. If you still need it, use addPostFrameCallback or Future.microtask.

Non-breaking changes:

  • Fix a bug where the order in which hooks are disposed is incorrect.

  • It is now allowed to rebuild a HookWidget with more/less hooks than previously. Example:

    Widget build(context) {
      useSomething();
      if (condition) {
        return Container();
      }
      useSomething()
      return Container();
    }
    
  • Deprecated Hook.use in favor of a new short-hand use. Before:

    Hook.use(MyHook());
    

    After:

    use(MyHook());
    

0.10.0 #

Breaking change:

  • The order in which hooks are disposed has been reversed.

    Consider:

    useSomething();
    useSomethingElse();
    

    Before, the useSomething was disposed before useSomethingElse. Now, useSomethingElse is disposed before the useSomething.

    The reason for this change is for cases like:

    // Creates an AnimationController
    final animationController = useAnimationController();
    // Immediately listen to the AnimationController
    useListenable(animationController);
    

    Before, when the widget was disposed, this caused an exception as useListenable unsubscribed to the AnimationController after its dispose method was called.

Non-breaking changes:

  • Added a way for hooks to potentially abort a widget rebuild.
  • Added StatefulHookWidget, a StatefulWidget that can use hooks inside its build method.

0.9.0 #

  • Added a deactivate life-cycle to HookState

0.8.0+1 #

  • Fixed link to "Existing hooks" in README.md.

0.8.0: #

Added useFocusNode

0.7.0: #

  • Added useTextEditingController, thanks to simolus3!

0.6.1: #

  • Added useReassemble hook, thanks to @SahandAkbarzadeh

0.6.0: #

  • Make hooks compatible with newer flutter stable version 1.7.8-hotfix.2.

0.4.0: #

0.3.0: #

  • NEW: usePrevious, a hook that returns the previous argument is received.
  • NEW: it is now impossible to call inheritFromWidgetOfExactType inside initHook of hooks. This forces authors to handle value updates.
  • FIX: use List
2216
likes
150
pub points
99%
popularity

Publisher

verified publisherdash-overflow.net

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

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on flutter_hooks