set method
T
set(
- T value
Stores value, marks the node dirty when it changes, and propagates.
Returns the assigned value. When batchDepth is zero, queued effects
flush after propagation. Disposed nodes still store the value but do not
notify subscribers.
Implementation
T set(T value) {
if (!isDisposed && pendingValue != (pendingValue = value)) {
assert(() {
JoltDevTools.set(this);
return true;
}());
flags = ReactiveFlags.mutable | ReactiveFlags.dirty;
if (subs != null) {
propagate(subs!, runDepth > 0);
if (batchDepth == 0) {
flushEffects();
}
}
} else if (isDisposed) {
this.value = value;
pendingValue = value;
}
return value;
}