Rx<T> class

Foundation class used for custom Types outside the common native Dart types. For example, any custom "Model" class, like User().obs will use Rx as wrapper.

Inheritance
Implementers
Available Extensions

Constructors

Rx(T initial)

Properties

canUpdate bool
no setterinherited
firstRebuild bool
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sentToStream bool
getter/setter pairinherited
stream Stream<T>
no setterinherited
string String
Same as toString() but using a getter.
no setterinherited
subject GetStream<T>
getter/setter pairinherited
value ↔ T
Returns the current value
getter/setter pairinherited

Methods

addError(Object error, [StackTrace? stackTrace]) → void
inherited
addListener(GetStream<T> rxGetx) → void
This is an internal method. Subscribe to changes on the inner stream.
inherited
bindStream(Stream<T> stream) → void
Binds an existing Stream<T> to this Rx
inherited
call([T? v]) → T
updates the value to null and adds it to the Stream. Even with null-safety coming, is still an important feature to support, as call() doesn't accept null values. For instance, InputDecoration.errorText has to be null to not show the "error state".
inherited
close() → void
Closes the subscriptions for this Rx, releasing the resources.
inherited
listen(void onData(T), {Function? onError, void onDone()?, bool? cancelOnError}) StreamSubscription<T>
inherited
listenAndPump(void onData(T event), {Function? onError, void onDone()?, bool? cancelOnError}) StreamSubscription<T>
Returns a StreamSubscription similar to listen, but with the added benefit that it primes the stream with the current value, rather than waiting for the next value. This should not be called in onInit or anywhere else during the build process.
inherited
map<R>(R mapper(T? data)) Stream<R>
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
refresh() → void
Makes a direct update of value adding it to the Stream useful when you make use of Rx for custom Types to referesh your UI.
inherited
toJson() → dynamic
Returns the json representation of value.
override
toString() String
A string representation of this object.
inherited
trigger(T v) → void
Following certain practices on Rx data, we might want to react to certain listeners when a value has been provided, even if the value is the same. At the moment, we ignore part of the process if we .call(value) with the same value since it holds the value and there's no real need triggering the entire process for the same value inside, but there are other situations where we might be interested in triggering this.
inherited
update(void fn(T? val)) → void
Uses a callback to update value internally, similar to refresh, but provides the current value as the argument. Makes sense for custom Rx types (like Models).
inherited

Operators

operator ==(Object o) bool
This equality override works for _RxImpl instances and the internal values.
inherited