1
0
Эх сурвалжийг харах

Don't expect all components to have a scope in ScopeArena.ensure_drop_safety

Not all components will be mounted when using a Router, so we cannot assume
all components have a scope.
Dave Rolsky 3 жил өмнө
parent
commit
9b282d8

+ 3 - 6
packages/core/src/scopes.rs

@@ -198,12 +198,9 @@ impl ScopeArena {
             // run the hooks (which hold an &mut Reference)
             // recursively call ensure_drop_safety on all children
             items.borrowed_props.drain(..).for_each(|comp| {
-                let scope_id = comp
-                    .scope
-                    .get()
-                    .expect("VComponents should be associated with a valid Scope");
-
-                self.ensure_drop_safety(scope_id);
+                if let Some(scope_id) = comp.scope.get() {
+                    self.ensure_drop_safety(scope_id);
+                }
 
                 drop(comp.props.take());
             });