Signals no React
Solid faz um tempo que chegou com a bomba toda, revolucionando os hooks do React com Signals
Duas diferenças gritantes:
- Array de dependências não existem
- State não é vinculado ao render
Svelte também queria isso, então Svelte 5 está atualizando pra usar "runes", bem no estilo do Solid
Fizeram uma proposta para que signals fossem incluídos no js. Essa é uma proposta bem nova, que está looonge de acontecer, se acontecer. Mas independente, existe uma vontade aí.
A proposta adiciona um namespace global Signal
com uma API expondo tudo que é necessário:
A ideia é oferecer isso para outras ferramentas usarem internamente, dessa forma temos como melhorar performance de uma forma que eles não tem como, além de possibilitar uma camada de padronização entre as diferentes ferramentas.
React é radicalmente diferente, ele não renderiza componentes da mesma forma que outros frameworks.
Outros renderizam somente uma vez, fazendo uma ligação direta entre state-UI para UI atualizar. Já React rerenderiza cada componente toda vez que o state é atualizado, recomputando toda a árvore de componentes. Por conta disso que React não implementa signals, é uma ferramenta que não se adequa a esse padrão de renderização.
Dito isso, fiz uns experimentos para criar componentes que respondem a signals e effects
O código está disponível no meu github, se quiser ver: