Struct perseus::HydrateNode
[−]pub struct HydrateNode { /* private fields */ }
Expand description
Rendering backend for the DOM with hydration support.
This API requires the following crate features to be activated: hydrate
, dom
Implementations
impl HydrateNode
impl HydrateNode
pub fn inner_element(&self) -> Node
pub fn inner_element(&self) -> Node
Get the underlying [web_sys::Node
].
pub fn unchecked_into<T>(self) -> T where
T: JsCast,
pub fn unchecked_into<T>(self) -> T where
T: JsCast,
Cast the underlying [web_sys::Node
] using JsCast
.
pub fn from_web_sys(node: Node) -> HydrateNode
pub fn from_web_sys(node: Node) -> HydrateNode
Create a new DomNode
from a raw [web_sys::Node
].
Trait Implementations
impl AsRef<JsValue> for HydrateNode
impl AsRef<JsValue> for HydrateNode
impl Clone for HydrateNode
impl Clone for HydrateNode
fn clone(&self) -> HydrateNode
fn clone(&self) -> HydrateNode
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Debug for HydrateNode
impl Debug for HydrateNode
impl From<HydrateNode> for JsValue
impl From<HydrateNode> for JsValue
fn from(node: HydrateNode) -> JsValue
fn from(node: HydrateNode) -> JsValue
Converts to this type from the input type.
impl GenericNode for HydrateNode
impl GenericNode for HydrateNode
fn element<T>() -> HydrateNode where
T: SycamoreElement,
fn element<T>() -> HydrateNode where
T: SycamoreElement,
When hydrating, instead of creating a new node, this will attempt to hydrate an existing node.
fn text_node(text: &str) -> HydrateNode
fn text_node(text: &str) -> HydrateNode
When hydrating, instead of creating a new node, this will attempt to hydrate an existing node.
type PropertyType = JsValue
type PropertyType = JsValue
The type for set_property
.
const USE_HYDRATION_CONTEXT: bool = true
const USE_HYDRATION_CONTEXT: bool = true
Whether this rendering backend needs the hydration registry.
const CLIENT_SIDE_HYDRATION: bool = true
const CLIENT_SIDE_HYDRATION: bool = true
Whether this rendering backend hydrates nodes on the client side.
fn element_from_tag(tag: &str) -> HydrateNode
fn element_from_tag(tag: &str) -> HydrateNode
Create a new element node from a tag string.
fn marker() -> HydrateNode
fn marker() -> HydrateNode
Create a marker (dummy) node. For DomNode
, this is implemented by creating an empty
comment node. This is used, for example, in Keyed
and Indexed
for scenarios where you
want to push a new item to the end of the list. If the list is empty, a dummy node is
needed to store the position of the component. Read more
fn marker_with_text(text: &str) -> HydrateNode
fn marker_with_text(text: &str) -> HydrateNode
Create a marker (dummy) node with text content. For empty marker, prefer
[GenericNode::marker
] instead. Read more
fn set_attribute(&self, name: &str, value: &str)
fn set_attribute(&self, name: &str, value: &str)
Sets an attribute on a node.
fn remove_attribute(&self, name: &str)
fn remove_attribute(&self, name: &str)
Removes an attribute on a node.
fn set_class_name(&self, value: &str)
fn set_class_name(&self, value: &str)
Sets the class
attribute on a node.
This should have the same outcome as calling set_attribute("class", value)
.
For DomNode
, this sets the className
property directly which is about 2x faster (on
Chrome). Read more
fn add_class(&self, class: &str)
fn add_class(&self, class: &str)
Add a class to the element. If multiple classes are specified, delimited by spaces, all the classes should be added. Any classes that are already present should not be added a second time. Read more
fn remove_class(&self, class: &str)
fn remove_class(&self, class: &str)
Remove a class from the element.
fn set_property(&self, name: &str, value: &JsValue)
fn set_property(&self, name: &str, value: &JsValue)
Sets a property on a node.
fn remove_property(&self, name: &str)
fn remove_property(&self, name: &str)
Removes a property on a node.
fn append_child(&self, child: &HydrateNode)
fn append_child(&self, child: &HydrateNode)
Appends a child to the node’s children.
fn first_child(&self) -> Option<HydrateNode>
fn first_child(&self) -> Option<HydrateNode>
Get the first child of the node.
fn insert_child_before(
&self,
new_node: &HydrateNode,
reference_node: Option<&HydrateNode>
)
fn insert_child_before(
&self,
new_node: &HydrateNode,
reference_node: Option<&HydrateNode>
)
Insert a new child node to this node’s children. If reference_node
is Some
, the child
will be inserted before the reference node. Else if None
, the child will be inserted
at the end. Read more
fn remove_child(&self, child: &HydrateNode)
fn remove_child(&self, child: &HydrateNode)
Remove a child node from this node’s children.
fn replace_child(&self, old: &HydrateNode, new: &HydrateNode)
fn replace_child(&self, old: &HydrateNode, new: &HydrateNode)
Replace a child node from this node’s children with a new child node.
fn insert_sibling_before(&self, child: &HydrateNode)
fn insert_sibling_before(&self, child: &HydrateNode)
Insert a new node before this node.
fn parent_node(&self) -> Option<HydrateNode>
fn parent_node(&self) -> Option<HydrateNode>
Returns the parent node, or None
if detached.
fn next_sibling(&self) -> Option<HydrateNode>
fn next_sibling(&self) -> Option<HydrateNode>
Returns the next sibling, or None
if this node is the last sibling.
fn remove_self(&self)
fn remove_self(&self)
Remove this node from the tree.
fn event<'a, F>(&self, cx: BoundedScope<'a, 'a>, name: &str, handler: F) where
F: 'a + FnMut(<HydrateNode as GenericNode>::EventType),
fn event<'a, F>(&self, cx: BoundedScope<'a, 'a>, name: &str, handler: F) where
F: 'a + FnMut(<HydrateNode as GenericNode>::EventType),
Add a event handler to the event name
.
fn update_inner_text(&self, text: &str)
fn update_inner_text(&self, text: &str)
Update inner text of the node. If the node has elements, all the elements are replaced with a new text node. Read more
fn dangerously_set_inner_html(&self, html: &str)
fn dangerously_set_inner_html(&self, html: &str)
Updates the inner html of the node.
The html will not be parsed in non-browser environments. This means that accessing methods
such as first_child
will return None
. Read more
fn clone_node(&self) -> HydrateNode
fn clone_node(&self) -> HydrateNode
Create a deep clone of the node.
fn text_node_int(int: i32) -> Self
fn text_node_int(int: i32) -> Self
Create a new text node from an integer.
impl Hash for HydrateNode
impl Hash for HydrateNode
impl Html for HydrateNode
impl Html for HydrateNode
const IS_BROWSER: bool = true
const IS_BROWSER: bool = true
A boolean indicating whether this node is rendered in a browser context. Read more
impl PartialEq<HydrateNode> for HydrateNode
impl PartialEq<HydrateNode> for HydrateNode
impl Eq for HydrateNode
Auto Trait Implementations
impl !RefUnwindSafe for HydrateNode
impl !Send for HydrateNode
impl !Sync for HydrateNode
impl Unpin for HydrateNode
impl UnwindSafe for HydrateNode
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.