Oh damn. I've been working on a project using very similar tricks for the passed ~3 years.
I'm assuming state is a proxy and you're using the single threaded nature of JS to make render functions dependent on accessed variables?
I'm assuming state is a proxy and you're using the single threaded nature of JS to make render functions dependent on accessed variables?
Also, there's .react(new_state), which is synchronous.
If one prefer not to use Proxies (old browsers, etc), it can be disabled via .react( state, { ..., watched: false } ) and then can call just .react() manually after state changes. Which is also batched(async).