React Navigation 7 chegou! 🚀
E a galera já está dizendo que é a maior revolução desde a versão 5, quando veio a API dinâmica.
Depois de três anos de atualizações pontuais, a equipe finalmente resolveu uma das maiores dores dos desenvolvedores: o verdadeiro inferno da configuração com TypeScript.
Antes era um pesadelo. Quem nunca passou pelo sufoco de manter manualmente aquela lista de tipos de parâmetros? Ou rezar para que a configuração do deep linking batesse certinho com a estrutura de navegação? Sem falar nas gambiarras só pra fazer o useNavigation funcionar… 😅
O React Navigation 7 chega dizendo: “esquece tudo isso”.
A grande novidade é a Static API. Agora você define a navegação uma vez só e os tipos em TypeScript já são gerados sozinhos. Até os caminhos de deep linking são inferidos automaticamente. Resultado: adeus retrabalho, adeus inconsistências.
E não para por aí:
- Preloading de telas: dá pra carregar uma tela em segundo plano antes mesmo do usuário clicar. Isso significa mais fluidez em telas pesadas que puxam muitos dados.
- Barra de busca nativa: qualquer navegador com cabeçalho pode ter uma pesquisa embutida, sem precisar recorrer a bibliotecas externas.
- Integração web turbinada: suporte melhor para tags anchor e novas APIs de Link que funcionam direto com nomes de tela.
Vale lembrar: o ecossistema do React Navigation já atende milhões de devs. A evolução vem de longe: começou com a abordagem estática da versão 4, ganhou flexibilidade dinâmica na 5 e agora une o melhor dos dois mundos.
Nem tudo é perfeito: alguns times relatam que as transições de navegação estão levando 1,5 a 2 vezes mais tempo que na versão 6. Mas a equipe de manutenção já está em cima disso. De qualquer forma, a melhoria na experiência de desenvolvimento tem sido considerada grande o suficiente pra justificar a atualização.
No fim das contas, não é só uma versão nova: é um passo de maturidade no jeito de pensar navegação móvel. O 7 não só adiciona recursos — ele elimina categorias inteiras de atrito no desenvolvimento.
E aí, vai atualizar agora ou esperar mais um pouco? Já testou a Static API? 😉