Struct floem_reactive::Scope

source ·
pub struct Scope(/* private fields */);
Expand description

You can manually control Signal’s lifetime by using Scope. Every Signal has a Scope created explictly or implicity, and when you Dispose the Scope, it will clean up all the Signals that belong to the Scope and all the child Scopes

Implementations§

source§

impl Scope

source

pub fn new() -> Self

Create a new Scope that isn’t a child or parent of any scope

source

pub fn current() -> Scope

The current Scope in the Runtime. Any Signal/Effect/Memo created with implicty Scope will be under this Scope

source

pub fn create_child(&self) -> Scope

Create a child Scope of this Scope

source

pub fn create_signal<T>(self, value: T) -> (ReadSignal<T>, WriteSignal<T>)
where T: Any + 'static,

Create a new Signal under this Scope

source

pub fn create_rw_signal<T>(self, value: T) -> RwSignal<T>
where T: Any + 'static,

Create a RwSignal under this Scope

source

pub fn create_memo<T>(self, f: impl Fn(Option<&T>) -> T + 'static) -> Memo<T>
where T: PartialEq + 'static,

Create a Memo under this Scope

source

pub fn create_trigger(self) -> Trigger

Create a Trigger under this Scope

source

pub fn create_effect<T>(self, f: impl Fn(Option<T>) -> T + 'static)
where T: Any + 'static,

Create effect udner this Scope

source

pub fn track(&self)

This is normally used in create_effect, and it will bind the effect’s lifetime to this scope

source

pub fn dispose(&self)

Dispose this Scope, and it will cleanup all the Signals and child Scope of this Scope.

Trait Implementations§

source§

impl Clone for Scope

source§

fn clone(&self) -> Scope

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Scope

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Scope

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Copy for Scope

Auto Trait Implementations§

§

impl RefUnwindSafe for Scope

§

impl Send for Scope

§

impl Sync for Scope

§

impl Unpin for Scope

§

impl UnwindSafe for Scope

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.