{"record":{"id":"e33c43c9f30d4da8","repo":"DioxusLabs/dioxus","slug":"component-dynamic-node-is-not-mounted","errorCode":null,"errorMessage":"component dynamic node ({}) is not mounted","messagePattern":"component dynamic node \\((.+?)\\) is not mounted","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/oracle/src/vdom_snapshot.rs","lineNumber":111,"sourceCode":"    match &*slot {\n        DynamicNode::Text(text) => vec![SnapshotNode::Text(text.value.clone())],\n        DynamicNode::Fragment(nodes) => {\n            let mounted_children = owner.mounted_fragment_children(slot, vdom);\n            assert_eq!(\n                mounted_children.len(),\n                nodes.len(),\n                \"fragment dynamic node is not mounted\"\n            );\n            mounted_children\n                .into_iter()\n                .flat_map(|node| vnode_snapshot(vdom, node))\n                .collect()\n        }\n        DynamicNode::Component(component) => {\n            let scope = component\n                .mounted_scope(slot, owner, vdom)\n                .unwrap_or_else(|| {\n                    panic!(\"component dynamic node ({}) is not mounted\", component.name)\n                });\n            vnode_snapshot(vdom, scope.try_mounted_root_node().unwrap())\n        }\n    }\n}\n\nfn apply_dynamic_attr(\n    attrs: &mut Vec<SnapshotAttr>,\n    listeners: &mut Vec<String>,\n    attr: &Attribute,\n) {\n    match &attr.value {\n        AttributeValue::Listener(_) => {\n            let name = attr\n                .name\n                .strip_prefix(\"on\")\n                .unwrap_or(attr.name)\n                .to_string();","sourceCodeStart":93,"sourceCodeEnd":129,"githubUrl":"https://github.com/DioxusLabs/dioxus/blob/24f6a829df0dfa203961a98ea4cae21c2ff27e28/packages/oracle/src/vdom_snapshot.rs#L93-L129","documentation":"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.","triggerScenarios":"Thrown at packages/oracle/src/vdom_snapshot.rs:111 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["The component's dynamic node is not mounted. Render and mount the component before querying its dynamic nodes."],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"24f6a829df0dfa203961a98ea4cae21c2ff27e28","analyzedAt":"2026-08-23T07:10:14.078Z","contentChangedAt":"2026-08-23T07:10:14.078Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}