diff --git a/packages/core/src/scope_context.rs b/packages/core/src/scope_context.rs index 79ed05d75..59bed3b1f 100644 --- a/packages/core/src/scope_context.rs +++ b/packages/core/src/scope_context.rs @@ -128,7 +128,7 @@ impl ScopeContext { parent.name ); if let Some(shared) = parent.shared_contexts.borrow().iter().find_map(|any| { - tracing::trace!("found context {:?}", any.type_id()); + tracing::trace!("found context {:?}", (**any).type_id()); any.downcast_ref::() }) { return Some(shared.clone()); diff --git a/packages/web/src/rehydrate.rs b/packages/web/src/rehydrate.rs index 4415ceb37..4ee437963 100644 --- a/packages/web/src/rehydrate.rs +++ b/packages/web/src/rehydrate.rs @@ -128,18 +128,20 @@ impl WebsysDom { for attr in *attrs { if let dioxus_core::TemplateAttribute::Dynamic { id } = attr { let attribute = &vnode.dynamic_attrs[*id]; - let value = &attribute.value; - let id = attribute.mounted_element(); - mounted_id = Some(id); - let name = attribute.name; - if let AttributeValue::Listener(_) = value { - let event_name = &name[2..]; - self.interpreter.new_event_listener( - event_name, - id.0 as u32, - event_bubbles(event_name) as u8, - ); - } + &attribute.attribute_type().for_each(|attribute| { + let value = &attribute.value; + let id = attribute.mounted_element(); + mounted_id = Some(id); + let name = attribute.name; + if let AttributeValue::Listener(_) = value { + let event_name = &name[2..]; + self.interpreter.new_event_listener( + event_name, + id.0 as u32, + event_bubbles(event_name) as u8, + ); + } + }); } } if let Some(id) = mounted_id {