Only check suspense if the component aborted rendering
This commit is contained in:
2 files changed
+7
-6
No files matched your search
@@ -1,11 +1,10 @@
|
||||
use std::{ panic::AssertUnwindSafe};
|
||||
|
||||
use crate::{
|
||||
innerlude::Scoped,
|
||||
nodes::RenderReturn,
|
||||
scopes::{Scope, ScopeState},
|
||||
Element,
|
||||
};
|
||||
use std::panic::AssertUnwindSafe;
|
||||
|
||||
/// A trait that essentially allows VComponentProps to be used generically
|
||||
///
|
||||
|
||||
@@ -83,10 +83,12 @@ impl VirtualDom {
|
||||
id: scope.id,
|
||||
});
|
||||
|
||||
if scope.suspended.get() {
|
||||
self.suspended_scopes.insert(scope.id);
|
||||
} else if !self.suspended_scopes.is_empty() {
|
||||
_ = self.suspended_scopes.remove(&scope.id);
|
||||
if matches!(allocated, RenderReturn::Aborted(_)) {
|
||||
if scope.suspended.get() {
|
||||
self.suspended_scopes.insert(scope.id);
|
||||
} else if !self.suspended_scopes.is_empty() {
|
||||
_ = self.suspended_scopes.remove(&scope.id);
|
||||
}
|
||||
}
|
||||
|
||||
// rebind the lifetime now that its stored internally
|
||||
|
||||
Reference in new issue
Block a user