pub struct RenderEffect { /* private fields */ }Expand description
A function that reruns when a signal or memo it read changes.
The first run happens when the effect is created, with tracking, so the sources it reaches are the ones that wake it later. Every run re-tracks from scratch, which makes conditional reads work.
The effect is owned by the current owner: cleaning that owner up, or dropping its last handle, stops the effect and frees its closure. Created with no current owner, the effect lives until the returned handle drops. Dropping the handle of an owned effect does nothing.
A write inside an effect body queues the effect again, and a body that keeps waking itself is stopped at a fixed number of runs per flush: debug builds panic, release builds skip the effect for the rest of that flush.
Implementations§
Source§impl RenderEffect
impl RenderEffect
Sourcepub fn new<T>(run: impl FnMut() -> T + 'static) -> RenderEffect
pub fn new<T>(run: impl FnMut() -> T + 'static) -> RenderEffect
Creates an effect and runs its body once, with tracking.
The effect is owned by the current owner, when there is one. See the type’s documentation for the lifetime rules. The body’s return value is ignored.