Struct dioxus_core::VNode

source ·
pub struct VNode<'a> {
    pub key: Option<&'a str>,
    pub parent: Option<ElementId>,
    pub template: Cell<Template<'static>>,
    pub root_ids: RefCell<Vec<'a, ElementId>>,
    pub dynamic_nodes: &'a [DynamicNode<'a>],
    pub dynamic_attrs: &'a [Attribute<'a>],
}
Expand description

A reference to a template along with any context needed to hydrate it

The dynamic parts of the template are stored separately from the static parts. This allows faster diffing by skipping static parts of the template.

Fields§

§key: Option<&'a str>

The key given to the root of this template.

In fragments, this is the key of the first child. In other cases, it is the key of the root.

§parent: Option<ElementId>

When rendered, this template will be linked to its parent manually

§template: Cell<Template<'static>>

The static nodes and static descriptor of the template

§root_ids: RefCell<Vec<'a, ElementId>>

The IDs for the roots of this template - to be used when moving the template around and removing it from the actual Dom

§dynamic_nodes: &'a [DynamicNode<'a>]

The dynamic parts of the template

§dynamic_attrs: &'a [Attribute<'a>]

The dynamic parts of the template

Implementations§

source§

impl<'a> VNode<'a>

source

pub fn empty(cx: &'a ScopeState) -> Element<'a>

Create a template with no nodes that will be skipped over during diffing

source

pub fn dynamic_root(&self, idx: usize) -> Option<&'a DynamicNode<'a>>

Load a dynamic root at the given index

Returns None if the root is actually a static node (Element/Text)

Trait Implementations§

source§

impl<'a> Clone for VNode<'a>

source§

fn clone(&self) -> VNode<'a>

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<'a> Debug for VNode<'a>

source§

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

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

impl<'a> IntoDynNode<'a, ()> for &'a VNode<'a>

source§

fn into_vnode(self, _cx: &'a ScopeState) -> DynamicNode<'a>

Consume this item along with a scopestate and produce a DynamicNode Read more
source§

impl<'a> IntoDynNode<'a, ()> for VNode<'a>

source§

fn into_vnode(self, _cx: &'a ScopeState) -> DynamicNode<'a>

Consume this item along with a scopestate and produce a DynamicNode Read more

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for VNode<'a>

§

impl<'a> !Send for VNode<'a>

§

impl<'a> !Sync for VNode<'a>

§

impl<'a> Unpin for VNode<'a>

§

impl<'a> !UnwindSafe for VNode<'a>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere 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 Twhere 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 Twhere 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 Twhere 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.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more