Skip to content

Commit 4136cf2

Browse files
committed
fix
1 parent 15ea2df commit 4136cf2

File tree

3 files changed

+9
-14
lines changed

3 files changed

+9
-14
lines changed

packages/svelte/src/internal/client/context.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,7 @@ export function push(props, runes = false, fn) {
116116
component_context.l = {
117117
s: null,
118118
u: null,
119-
r1: [],
120-
r2: source(false)
119+
$: []
121120
};
122121
}
123122

packages/svelte/src/internal/client/reactivity/effects.js

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -284,9 +284,10 @@ export function effect(fn) {
284284
export function legacy_pre_effect(deps, fn) {
285285
var context = /** @type {ComponentContextLegacy} */ (component_context);
286286

287-
/** @type {{ effect: null | Effect, ran: boolean }} */
288-
var token = { effect: null, ran: false };
289-
context.l.r1.push(token);
287+
/** @type {{ effect: null | Effect, ran: boolean, deps: () => any }} */
288+
var token = { effect: null, ran: false, deps };
289+
290+
context.l.$.push(token);
290291

291292
token.effect = render_effect(() => {
292293
deps();
@@ -296,7 +297,6 @@ export function legacy_pre_effect(deps, fn) {
296297
if (token.ran) return;
297298

298299
token.ran = true;
299-
set(context.l.r2, true);
300300
untrack(fn);
301301
});
302302
}
@@ -305,10 +305,10 @@ export function legacy_pre_effect_reset() {
305305
var context = /** @type {ComponentContextLegacy} */ (component_context);
306306

307307
render_effect(() => {
308-
if (!get(context.l.r2)) return;
309-
310308
// Run dirty `$:` statements
311-
for (var token of context.l.r1) {
309+
for (var token of context.l.$) {
310+
token.deps();
311+
312312
var effect = token.effect;
313313

314314
// If the effect is CLEAN, then make it MAYBE_DIRTY. This ensures we traverse through
@@ -323,8 +323,6 @@ export function legacy_pre_effect_reset() {
323323

324324
token.ran = false;
325325
}
326-
327-
set(context.l.r2, false);
328326
});
329327
}
330328

packages/svelte/src/internal/client/types.d.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,7 @@ export type ComponentContext = {
5151
m: Array<() => any>;
5252
};
5353
/** `$:` statements */
54-
r1: any[];
55-
/** This tracks whether `$:` statements have run in the current cycle, to ensure they only run once */
56-
r2: Source<boolean>;
54+
$: any[];
5755
};
5856
/**
5957
* dev mode only: the component function

0 commit comments

Comments
 (0)