Same in Vue for reference / comparison:
- main setup code runs once
- no need for `useEffectEvent` (tbh I don't understand why the React example needs it)
- no need to manually specify effect dependency
- no need for separate handling of prop change / unmount branches (compared to Remix 3)
Mental model will be similar in other signal-based frameworks (Solid, Svelte 5)
Personally I still think React is the hardest to reason about, Remix being the most explicit but too manual, signal-based reactivity hits the right balance.
ok bet: no wrapper, which is easier?