Keep pending invariant children behind readiness

This commit is contained in:
Hypatia May
2026-07-30 23:57:58 +08:00
parent 573a062afd
commit ed41269e04
2 changed files with 51 additions and 1 deletions

View File

@@ -171,7 +171,12 @@ function startInvariantHost(root: Context): InvariantHost {
function hasBarrierOwner(host: InvariantHost, ctx: Context): boolean {
let fiber = ctx.fiber
while (true) {
if (host.barrierOwners.has(fiber)) return true
if (
host.barrierOwners.has(fiber)
&& (fiber.state === FiberState.LOADING || fiber.state === FiberState.ACTIVE)
) {
return true
}
const parent = fiber.parent.fiber
if (parent === fiber) return false
fiber = parent