state_manager library
Get State Manager is a light, modern and powerful state manager to Flutter
Classes
-
Bind<
T> -
BindElement<
T> - The BindElement is responsible for injecting dependencies into the widget tree so that they can be observed
-
Binder<
T> - Binding
-
Binding should be extended.
When using
GetMaterialApp
, allGetPage
s and navigation methods (like Get.to()) have abinding
property that takes an instance of Bindings to manage the dependencies() (via Get.put()) for the Route you are opening. - Binds
-
CustomStatus<
T> - A custom status indicating that the state is in a custom state.
-
EmptyStatus<
T> - A status indicating that the state is empty.
- Engine
- A utility class for accessing the engine instance.
-
ErrorStatus<
T, S> - A status indicating that the state has encountered an error.
-
FastList<
T> - FullLifeCycleController
- A controller with super lifecycles (including native lifecycles)
-
GetBuilder<
T extends GetxController> - GetInterface
- A contract defining the interface for interacting with the "Get" class, enabling auxiliary packages to extend its functionality through extensions.
-
GetListenable<
T> -
A class that provides listenable behavior similar to
ValueNotifier
. -
GetNotifier<
T> - A class representing a state notifier with a Get lifecycle.
-
GetResponsiveView<
T> -
Extend this widget to build responsive view.
this widget contains the
screen
property that have all information about the screen size and type. You have two options to build it. 1- withbuilder
method you return the widget to build. 2- with methodsdesktop
,tablet
,phone
,watch
. the specific method will be built when the screen type matches the method when the screen isScreenType.Tablet
thetablet
method will be exuded and so on. Note if you use this method please set the propertyalwaysUseBuilder
to false Withsettings
property you can set the width limit for the screen types. -
GetResponsiveWidget<
T extends GetLifeCycleMixin> - A widget that provides responsiveness functionality by dynamically choosing which widget to build based on the screen type.
-
GetStatus<
T> - Represents the status of an asynchronous operation, such as loading, error, empty, success, or custom.
-
GetView<
T> - GetView is a great way of quickly access your Controller without having to call Get.find
-
GetWidget<
S extends GetLifeCycleMixin> - GetWidget is a great way of quickly access your individual Controller without having to call Get.find
-
GetX<
T extends GetLifeCycleMixin> - A widget that manages the lifecycle of a controller and rebuilds its child widget whenever the controller changes.
- GetxController
- Abstract class representing a GetX controller.
-
GetXState<
T extends GetLifeCycleMixin> - The state for the GetX widget.
-
LoadingStatus<
T> - A status indicating that the state is currently loading.
-
MiniStream<
T> -
MiniSubscription<
T> -
Node<
T> - Observer
- It's an experimental feature.
- Obx
- The simplest reactive widget in GetX.
- ObxElement
- A wrapper around a StatelessElement that enables observation of changes in the stateless widget's reactive dependencies.
- ObxError
- Represents an error specific to the use of GetX or Obx.
- ObxStatelessWidget
- A stateless widget that can listen to reactive changes.
-
ObxValue<
T extends RxInterface> - Similar to Obx, but manages a local state. Pass the initial data in the constructor. Useful for simple local states, like toggles, visibility, themes, button states, etc.
- ObxWidget
- The ObxWidget is the base for all GetX reactive widgets.
- ResponsiveScreen
- A class that provides information about the current screen size and type.
- ResponsiveScreenSettings
- A class containing settings for responsive screen behavior.
-
Rx<
T> -
Foundation class used for custom
Types
outside the common native Dart types. For example, any custom "Model" class, like User().obs will useRx
as wrapper. - RxBool
- An Rx object for managing boolean values.
- RxController
- A clean controller to be used with only Rx variables
- RxDouble
- RxInt
-
RxInterface<
T> -
This class is the foundation for all reactive (Rx) classes that makes Get
so powerful.
This interface is the contract that
_RxImpl
-
RxList<
E> -
A reactive list that extends functionality similar to
List<T>
and provides automatic notifications on changes. -
RxMap<
K, V> - RxnBool
- An Rx object for managing nullable boolean values.
- RxnDouble
- RxnInt
- RxnNum
- RxnString
-
Rx class for
String
Type. - RxNum
-
RxSet<
E> - RxString
-
Rx class for
String
Type. -
StateController<
T> - A recommended way to use Getx with Future fetching
-
SuccessStatus<
T> -
A status indicating that the state has been successfully updated with data of type
T
. -
SuperController<
T> - A controller with super lifecycles (including native lifecycles) and StateMixins
-
Value<
T> -
A class similar to
ValueNotifier
with additional state management capabilities. -
ValueBuilder<
T> - Manages a local state like ObxValue, but uses a callback instead of a Rx value.
-
ValueBuilderState<
T> - The state associated with the ValueBuilder widget.
- Worker
- A class representing a worker for executing asynchronous tasks with disposal functionality.
- Workers
- A class for managing a collection of workers and disposing them when necessary.
Enums
- ScreenType
- An enumeration representing different types of screens.
- SmartManagement
- GetX by default disposes unused controllers from memory, Through different behaviors. SmartManagement.full SmartManagement.full is the default one. Dispose classes that are not being used and were not set to be permanent. In the majority of the cases you will want to keep this config untouched. If you new to GetX then don't change this. SmartManagement.onlyBuilder only controllers started in init: or loaded into a Binding with Get.lazyPut() will be disposed. If you use Get.put() or Get.putAsync() or any other approach, SmartManagement will not have permissions to exclude this dependency. With the default behavior, even widgets instantiated with "Get.put" will be removed, unlike SmartManagement.onlyBuilders. SmartManagement.keepFactoryJust like SmartManagement.full, it will remove it's dependencies when it's not being used anymore. However, it will keep their factory, which means it will recreate the dependency if you need that instance again.
Mixins
- FullLifeCycleMixin
- A mixin that provides a full lifecycle implementation for controllers.
- GetResponsiveMixin
- A mixin that facilitates building responsive widgets by providing methods to conditionally choose which widget to build based on the screen type.
- GetSingleTickerProviderStateMixin
-
Used like
SingleTickerProviderMixin
but only with Get Controllers. Simplifies AnimationController creation inside GetxController. - GetTickerProviderStateMixin
-
Used like
TickerProviderMixin
but only with Get Controllers. Simplifies multiple AnimationController creation inside GetxController. -
RxObjectMixin<
T> -
global object that registers against
GetX
andObx
, and allows the reactivity of thoseWidgets
and Rx values. - ScrollMixin
- this mixin allow to fetch data when the scroll is at the bottom or on the top
- StatelessObserverComponent
- A component that can track changes in a reactive variable.
-
StateMixin<
T> - A mixin that provides state management capabilities.
Extensions
- BoolExtension on bool
- Extension on bool providing methods to create reactive booleans.
- DoubleExtension on double
- Extension on double providing methods to create reactive doubles.
- IntExtension on int
- Extension on int providing methods to create reactive integers.
-
ListExtension
on List<
E> -
MapExtension
on Map<
K, V> -
RxBoolExt
on Rx<
bool> - Extension on Rx<bool> providing methods for boolean operations.
-
RxDoubleExt
on Rx<
double> -
RxIntExt
on Rx<
int> -
RxnBoolExt
on Rx<
bool?> - Extension on Rx<bool?> providing methods for nullable boolean operations.
-
RxnDoubleExt
on Rx<
double?> -
RxnIntExt
on Rx<
int?> -
RxnNumExt
on Rx<
T?> -
RxnStringExt
on Rx<
String?> -
RxNumExt
on Rx<
T> -
RxStringExt
on Rx<
String> - RxT on T
-
Extension on
T
providing methods to create reactive instances of typeT
. - RxTnew on Object
-
This method will replace the old
.obs
method. It's a breaking change, but it is essential to avoid conflicts with the new dart 3 features. T will be inferred by contextual type inference rather than the extension type. -
SetExtension
on Set<
E> - StateAccessExt on BuildContext
- Extension methods for accessing state in the context of a widget build.
-
StateExt
on StateMixin<
T> - Extension methods for the StateMixin class.
-
StatusDataExt
on GetStatus<
T> - Extension methods for the GetStatus class.
- StringExtension on String
- Extension on String providing methods to create reactive strings.
Properties
- Get → _GetImpl
-
Global instance of GetX controller.
final
Functions
-
ambiguate<
T> (T? value) → T? -
Allows a value of type
T
orT?
to be treated as a value of typeT?
. -
debounce<
T> (GetListenable< T> listener, WorkerCallback<T> callback, {Duration? time, Function? onError, void onDone()?, bool? cancelOnError}) → Worker -
debounce is similar to interval, but sends the last value.
Useful for Anti DDos, every time the user stops typing for 1 second,
for instance.
When
listener
emits the last "value", whentime
hits, it callscallback
with the last "value" emitted. -
defaultLogWriterCallback(
String value, {bool isError = false}) → void - The default logger function used by GetX for writing logs.
-
ever<
T> (GetListenable< T> listener, WorkerCallback<T> callback, {dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) → Worker -
Called every time
listener
changes. As long as thecondition
returns true. -
everAll(
List< RxInterface> listeners, WorkerCallback callback, {dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) → Worker -
Similar to ever, but takes a list of
listeners
, the condition for thecallback
is common to alllisteners
, and thecallback
is executed to each one of them. The Worker is common to all, soworker.dispose()
will cancel all streams. -
interval<
T> (GetListenable< T> listener, WorkerCallback<T> callback, {Duration time = const Duration(seconds: 1), dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) → Worker -
Ignore all changes in
listener
duringtime
(1 sec by default) or untilcondition
is met (can be a bool expression or abool Function()
), It brings the 1st "value" since the period of time, so if you click a counter button 3 times in 1 sec, it will show you "1" (after 1 sec of the first press) click counter 3 times in 1 sec, it will show you "4" (after 1 sec) click counter 2 times in 1 sec, it will show you "7" (after 1 sec). -
once<
T> (GetListenable< T> listener, WorkerCallback<T> callback, {dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) → Worker -
once()
will execute only 1 time whencondition
is met and cancel the subscription to thelistener
stream right after that.condition
defines whencallback
is called, and can be a bool or abool Function()
.
Typedefs
-
GetControllerBuilder<
T extends GetLifeCycleMixin> = Widget Function(T controller) -
Signature for a function that builds a widget with a controller of type
T
. -
GetXControllerBuilder<
T extends GetLifeCycleMixin> = Widget Function(T controller) - A typedef representing a builder function for GetX controllers.
-
InitBuilder<
T> = T Function() -
Signature for a function that creates an object of type
T
. - LogWriterCallback = void Function(String text, {bool isError})
- A typedef representing a callback function for writing logs, typically used in the context of GetX.
-
NotifierBuilder<
T> = Widget Function(T state) - A builder function for creating widgets based on a state.
-
ValueBuilderBuilder<
T> = Widget Function(T snapshot, ValueBuilderUpdateCallback< T> updater) - A function that builds a widget based on the current value and an updater function.
-
ValueBuilderUpdateCallback<
T> = void Function(T snapshot) - A callback function that is called when the value builder updates its value.
-
ValueUpdater<
T> = T Function() - A function type representing a value updater.
- WidgetCallback = Widget Function()
- Callback signature for a widget builder function.
-
WorkerCallback<
T> = dynamic Function(T callback) - A typedef representing a callback function used by workers.
Exceptions / Errors
-
BindError<
T>