pub struct ReactiveGraph { /* private fields */ }Expand description
The reactive graph that manages all signals, derived values, and effects
Implementations§
Source§impl ReactiveGraph
impl ReactiveGraph
Sourcepub fn create_signal<T: Send + 'static>(&mut self, initial: T) -> Signal<T>
pub fn create_signal<T: Send + 'static>(&mut self, initial: T) -> Signal<T>
Create a new signal with an initial value
Sourcepub fn get<T: Clone + 'static>(&self, signal: Signal<T>) -> Option<T>
pub fn get<T: Clone + 'static>(&self, signal: Signal<T>) -> Option<T>
Get the current value of a signal
If called within a tracking context (effect or derived), this signal will be recorded as a dependency.
Sourcepub fn get_untracked<T: Clone + 'static>(&self, signal: Signal<T>) -> Option<T>
pub fn get_untracked<T: Clone + 'static>(&self, signal: Signal<T>) -> Option<T>
Get the current value without tracking as a dependency
Sourcepub fn set<T: Send + 'static>(&mut self, signal: Signal<T>, value: T)
pub fn set<T: Send + 'static>(&mut self, signal: Signal<T>, value: T)
Set the value of a signal, triggering reactive updates
Sourcepub fn update<T: Clone + Send + 'static, F: FnOnce(T) -> T>(
&mut self,
signal: Signal<T>,
f: F,
)
pub fn update<T: Clone + Send + 'static, F: FnOnce(T) -> T>( &mut self, signal: Signal<T>, f: F, )
Update a signal using a function
Sourcepub fn signal_version(&self, id: SignalId) -> Option<u64>
pub fn signal_version(&self, id: SignalId) -> Option<u64>
Get the version of a signal (for change detection)
Sourcepub fn create_derived<T, F>(&mut self, compute: F) -> Derived<T>
pub fn create_derived<T, F>(&mut self, compute: F) -> Derived<T>
Create a derived (computed) value
Sourcepub fn get_derived<T: Clone + 'static>(
&mut self,
derived: Derived<T>,
) -> Option<T>
pub fn get_derived<T: Clone + 'static>( &mut self, derived: Derived<T>, ) -> Option<T>
Get the value of a derived, computing if necessary
Sourcepub fn create_effect<F>(&mut self, run: F) -> Effect
pub fn create_effect<F>(&mut self, run: F) -> Effect
Create an effect that runs when its dependencies change
Sourcepub fn dispose_effect(&mut self, effect: Effect)
pub fn dispose_effect(&mut self, effect: Effect)
Dispose of an effect, removing it from the graph
Sourcepub fn batch_start(&self)
pub fn batch_start(&self)
Start a batch - effects won’t run until the batch ends
Sourcepub fn batch<F, R>(&mut self, f: F) -> Rwhere
F: FnOnce(&mut Self) -> R,
pub fn batch<F, R>(&mut self, f: F) -> Rwhere
F: FnOnce(&mut Self) -> R,
Run a function in a batch context
Sourcepub fn stats(&self) -> ReactiveStats
pub fn stats(&self) -> ReactiveStats
Get statistics about the reactive graph