Estado na URL
O que é estado na URL e quais as vantagens dessa abordagem?
Tradicionalmente, o gerenciamento de estado (state) em uma aplicação React é feito de duas maneiras:
- Através do hook
useState
. - Através do
Context API
. - Através de bibliotecas externas de gerenciamento de estado (Redux, Zustand).
Como os componentes de página (geralmente) são Server Components, já não é possível utilizar hooks como o useState
.
Também o caso de uso de estado global, seja através de bibliotecas externas ou Context API, é cada vez menor. Isso porque foi-se percebendo que a maior parte das vezes o “estado” precisa ser sincronizado com o servidor. E sincronizar estado global com estado no servidor é uma tarefa que traz múltiplas dificuldades.
Quer um exemplo? Imagine uma busca e paginação em uma lista qualquer. Não faz sentido gerenciar estado local ou estado global, já que na maioria dos casos paginação e busca ocorrem no backend, e não no frontend.
Justamente esse será o exemplo que iremos utilizar: vamos fazer na prática busca e paginação, utilizando a URL para guardar nosso estado e sincronizar nosso backend/API com nosso frontend.