-
Notifications
You must be signed in to change notification settings - Fork 16
Closed
Description
There seems to be some sort of bug with clearing effects, stack keeps growing (duplicate console logs).
This behaviour was introduced in 3b4cf0e
The commit before that doesn't stack effects.
Reproduction running npm run build && node tests/createEffect.test.stackbug.js with the following file:
// file: test/createEffect.test.stackbug.js
import { createEffect, onCleanup, createRoot, createSignal } from "../dist/prod.js";
createRoot(() => {
const [a, setA] = createSignal(1);
const [b, setB] = createSignal(2);
setInterval(() => {
setA(a => a + 1);
setTimeout(() => {
setB(b => b + 1);
}, 1000);
}, 2000);
console.log("createRoot");
const displayEffects = false;
createEffect(
() => {
displayEffects && console.log("createEffect a computed");
onCleanup(() => {
console.log("clean up a");
});
return a();
},
a => {
displayEffects && console.log("createEffect a effect");
console.log({ a });
const [c] = createSignal(3);
createEffect(
() => {
displayEffects && console.log("createEffect b computed");
onCleanup(() => {
console.log("clean up b");
});
return b();
},
b => {
displayEffects && console.log("createEffect b effect");
console.log({ b });
createEffect(
() => {
displayEffects && console.log("createEffect c computed");
onCleanup(() => {
console.log("clean up c");
});
return c();
},
c => {
displayEffects && console.log("createEffect c effect");
console.log({ c });
}
);
}
);
}
);
});Reported in https://discord.com/channels/722131463138705510/751355413701591120/1306256252262940743
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels