So let's say I have these variables ($: marks a reactive statement, so when any of the values after = change, the variable is updated):
let x = 0;$: y = x;$: z = x + y;function onSomeUserInteraction(input) { y = input;}
So in this case, x
is an independent variable, meanwhile y
depends on x
, and can also be altered by user interaction. And z
depends on x
and y
.
Now my problem is, that when x
changes, this triggers an update in z
. But since y
depends on x
, it also changes, which triggers another, redundant update to z
. So my question is, how can I handle these dependencies in such a way that changing x
doesn't update z
twice? The obvious solution would be just to have $: z = x + x
. But the problem is with the user interaction, which might alter the value of y
, so y
may not always be equal to x
.
Another way to reframe the code would be like this:
let x = 0;$: y = x + i; // I is some arbitrary value that can be updated by the user$: z = x + y;
Any suggestions for how to resolve this? Thank you.