DioxusLabs/dioxus · error
missing target
Error message
missing target
What it means
`walk_event_for_id` takes the DOM event's target and `expect`s one to exist before downcasting to a Node. This panic fires when handling an event with no target — normally impossible for dispatched DOM events, so its occurrence indicates an internal web renderer bug or unusual event routing.
Source
Thrown at packages/web/src/dom.rs:127
Self {
root,
interpreter,
#[cfg(feature = "mounted")]
runtime,
#[cfg(feature = "mounted")]
queued_mounted_events: Default::default(),
#[cfg(feature = "mounted")]
current_writing_id: ElementId::from_raw(0),
#[cfg(feature = "hydrate")]
suspense_hydration_ids: Default::default(),
}
}
}
fn walk_event_for_id(event: &web_sys::Event) -> Option<(ElementId, web_sys::Element)> {
let target = event
.target()
.expect("missing target")
.dyn_into::<web_sys::Node>()
.expect("not a valid node");
walk_element_for_id(&target)
}
fn walk_element_for_id(target: &Node) -> Option<(ElementId, web_sys::Element)> {
let mut current_target_element = target.dyn_ref::<web_sys::Element>().cloned();
loop {
match (
current_target_element
.as_ref()
.and_then(|el| el.get_attribute("data-dioxus-id").map(|f| f.parse())),
current_target_element,
) {
// This node is an element, and has a dioxus id, so we can stop walking
(Some(Ok(id)), Some(target)) => return Some((ElementId::from_raw(id), target)),View on GitHub (pinned to 24f6a829df)
Solutions
- Ensure the mount target element exists in the DOM before mounting the app; check the selector or element id passed to the launch/config.
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at packages/web/src/dom.rs:127 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/ee06005c747c0d48.
Report an issue: GitHub.