Fala, mano, tranquilo?

Com o passar dos anos acabei aprendendo que a melhor maneira de gerenciar o server state das minhas aplicações React é deixar que alguma biblioteca como a React Query ou a SWR cuide disso.

Isso porque elas já entregam diversas funcionalidades interessantes e que são complexas de se fazer de forma eficiente, como:

  • Manipulação e uso de cache;
  • Controle de quando os dados estão desatualizados;
  • Atualização de dados desatualizados em background (de forma que o usuário não perceba que uma nova requisição foi feita);
  • Deduplicação de requests;

Entre outros vários benefícios. Eu, particularmente, uso mais e recomendo a biblioteca React Query.

boa miguel, mas em relação aos estados, como manipular valores de um input de um formulario mais complexo (cliche), numa rota de edição, os input devem receber como valores default, os valores desse usuario, que estão salvos aonde? em cache, gerenciador de estado, payload de uma mudança de rota? e o setter de estado de cada input, fica na mão de quem? redux, useState, useReducer?

quais abordagens voce lidaria para resolver esses problemas?