浏览代码

fix recycling nodes in native core

Evan Almloff 1 年之前
父节点
当前提交
9c2e713dae
共有 1 个文件被更改,包括 6 次插入0 次删除
  1. 6 0
      packages/native-core/src/dioxus.rs

+ 6 - 0
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);
     }