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::{
|
use crate::{
|
||||||
innerlude::Scoped,
|
innerlude::Scoped,
|
||||||
nodes::RenderReturn,
|
nodes::RenderReturn,
|
||||||
scopes::{Scope, ScopeState},
|
scopes::{Scope, ScopeState},
|
||||||
Element,
|
Element,
|
||||||
};
|
};
|
||||||
|
use std::panic::AssertUnwindSafe;
|
||||||
|
|
||||||
/// A trait that essentially allows VComponentProps to be used generically
|
/// A trait that essentially allows VComponentProps to be used generically
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -83,10 +83,12 @@ impl VirtualDom {
|
|||||||
id: scope.id,
|
id: scope.id,
|
||||||
});
|
});
|
||||||
|
|
||||||
if scope.suspended.get() {
|
if matches!(allocated, RenderReturn::Aborted(_)) {
|
||||||
self.suspended_scopes.insert(scope.id);
|
if scope.suspended.get() {
|
||||||
} else if !self.suspended_scopes.is_empty() {
|
self.suspended_scopes.insert(scope.id);
|
||||||
_ = self.suspended_scopes.remove(&scope.id);
|
} else if !self.suspended_scopes.is_empty() {
|
||||||
|
_ = self.suspended_scopes.remove(&scope.id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// rebind the lifetime now that its stored internally
|
// rebind the lifetime now that its stored internally
|
||||||
|
|||||||
Reference in new issue
Block a user