From 9c2e713dae8440ca368cda4d2d8b55f6ab8f737b Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Tue, 15 Aug 2023 09:30:43 -0500 Subject: [PATCH] fix recycling nodes in native core --- packages/native-core/src/dioxus.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/native-core/src/dioxus.rs b/packages/native-core/src/dioxus.rs index 3e9ff9ee0..e5042f756 100644 --- a/packages/native-core/src/dioxus.rs +++ b/packages/native-core/src/dioxus.rs @@ -57,6 +57,12 @@ impl DioxusState { node.insert(ElementIdComponent(element_id)); if self.node_id_mapping.len() <= element_id.0 { self.node_id_mapping.resize(element_id.0 + 1, None); + } else { + if let Some(mut node) = + self.node_id_mapping[element_id.0].and_then(|id| node.real_dom_mut().get_mut(id)) + { + node.remove(); + } } self.node_id_mapping[element_id.0] = Some(node_id); }