flutter_hooks 0.18.4 flutter_hooks: ^0.18.4 copied to clipboard
A flutter implementation of React hooks. It adds a new kind of widget with enhanced code reuse.
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 aTransformationController
(thanks to @shrouxm) - Added
useAppLifecycleState
anduseOnAppLifecycleStateChange
to interact withAppLifecycleState
(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 ofStreamBuilder
/FutureBuilder
regarding initial values. -
Added a
reverseDuration
parameter touseAnimationController
0.17.0 #
useFuture
/useStream
'sAsynsSnapshot
now correctly expose the StackTrace when there is an error.- added
useRef
anduseCallback
, similar to the React equivalents. initialData
ofuseStream
anduseFuture
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 aPageController
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 touseFocusNode
- 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 aScrollController
- added
useTabController
to create aTabController
(thanks to @Albert221)
0.11.0 #
Breaking change:
- Removed
HookState.didBuild
.
If you still need it, useaddPostFrameCallback
orFuture.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-handuse
. 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 beforeuseSomethingElse
. Now,useSomethingElse
is disposed before theuseSomething
.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 theAnimationController
after itsdispose
method was called.
Non-breaking changes:
- Added a way for hooks to potentially abort a widget rebuild.
- Added
StatefulHookWidget
, aStatefulWidget
that can use hooks inside itsbuild
method.
0.9.0 #
- Added a
deactivate
life-cycle toHookState
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: #
- Make hooks compatible with newer flutter version. (see https://groups.google.com/forum/#!topic/flutter-announce/hp1RNIgej38)
0.3.0: #
- NEW:
usePrevious
, a hook that returns the previous argument is received. - NEW: it is now impossible to call
inheritFromWidgetOfExactType
insideinitHook
of hooks. This forces authors to handle value updates. - FIX: use List