DioxusLabs/dioxus · error
component dynamic node ({}) is not mounted
Error message
component dynamic node ({}) is not mounted What it means
vnode_snapshot recursed into a DynamicNode::Component whose component scope is not currently mounted in the VirtualDom. The snapshot walker expected the component's subtree to be reachable; an unmounted component (suspended or dropped render) breaks that assumption.
Source
Thrown at packages/oracle/src/vdom_snapshot.rs:111
match &*slot {
DynamicNode::Text(text) => vec![SnapshotNode::Text(text.value.clone())],
DynamicNode::Fragment(nodes) => {
let mounted_children = owner.mounted_fragment_children(slot, vdom);
assert_eq!(
mounted_children.len(),
nodes.len(),
"fragment dynamic node is not mounted"
);
mounted_children
.into_iter()
.flat_map(|node| vnode_snapshot(vdom, node))
.collect()
}
DynamicNode::Component(component) => {
let scope = component
.mounted_scope(slot, owner, vdom)
.unwrap_or_else(|| {
panic!("component dynamic node ({}) is not mounted", component.name)
});
vnode_snapshot(vdom, scope.try_mounted_root_node().unwrap())
}
}
}
fn apply_dynamic_attr(
attrs: &mut Vec<SnapshotAttr>,
listeners: &mut Vec<String>,
attr: &Attribute,
) {
match &attr.value {
AttributeValue::Listener(_) => {
let name = attr
.name
.strip_prefix("on")
.unwrap_or(attr.name)
.to_string();View on GitHub (pinned to 24f6a829df)
Solutions
- The component's dynamic node is not mounted. Render and mount the component before querying its dynamic nodes.
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at packages/oracle/src/vdom_snapshot.rs:111 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of DioxusLabs/dioxus@24f6a829df (2026-08-23).
Data as JSON: /api/errors/e33c43c9f30d4da8.
Report an issue: GitHub.