[visitors] Visit loop body before update
Mofei Zhang committed
Mar 27, 2024 at 20:26 UTC
877c490fa3ab5ea23d5b35a55a9139d8a200a6ba
2 files changed
+2
-2
compiler/packages/babel-plugin-react-forget/src/ReactiveScopes/PropagateScopeDependencies.ts
+1
-1
@@ -681,10 +681,10 @@ class PropagationVisitor extends ReactiveFunctionVisitor<Context> {
681
this.visitReactiveValue(context, terminal.id, terminal.init);
682
this.visitReactiveValue(context, terminal.id, terminal.test);
683
context.enterConditional(() => {
684
+ this.visitBlock(terminal.loop, context);
685
if (terminal.update !== null) {
686
this.visitReactiveValue(context, terminal.id, terminal.update);
687
}
687
- this.visitBlock(terminal.loop, context);
688
});
689
break;
690
}
compiler/packages/babel-plugin-react-forget/src/ReactiveScopes/visitors.ts
+1
-1
@@ -124,10 +124,10 @@ export class ReactiveFunctionVisitor<TState = void> {
124
case "for": {
125
this.visitValue(terminal.id, terminal.init, state);
126
this.visitValue(terminal.id, terminal.test, state);
127
+ this.visitBlock(terminal.loop, state);
128
if (terminal.update !== null) {
129
this.visitValue(terminal.id, terminal.update, state);
130
}
130
- this.visitBlock(terminal.loop, state);
131
break;
132
}
133
case "for-of": {