0
to 1
, 'hello'
to 'goodbye'
, or passing an inline function like () => 'foo'
. Knowing when it's a good time to change these values to rebuild subscriptions can be hard, and knowing how to keep the same reference is equally hard. Here's an example of a bad subscription:(Math.random() * 1000) + 1000
will be different every time it is calculated (which will be every update), and as a result, will forcibly clean up the previous subscription and create a new subscription every application action that is ran.