Executando verificação de segurança...
1

[DÚVIDA] REACT/NEXTJS: Context api ou Redux?

Contexto

Acabei me deparando com tecnologias para gerenciar os estados de variaveis globais e outras funcinalidades... E então vi essas duas e gostaria de saber mais a respeito e opinião de pessoas que utilizam.

Dúvida

  • Existem casos de uso ou são duas opções diferentes para um mesmo problema?
  • Alguma é melhor que a outra? e porque?
  • Uma aplicação moderna utilizaria qual? e porque?
  • Qual escala melhor? e porque ?
  • Porque usar uma e não a outra?

sei que são várias dúvidas então pode responder só uma ou outra kkkkk

Carregando publicação patrocinada...
2

eu tb me peguei nessa duvida a pouco tempo atras, nao sou super experiente no assunto, mas eu venho percebendo que muito das vezes existe uma forma de fazer que nao precisa de um gerenciador de estado global

casos comuns que achei que precisavam mas talvez nao:

  • controlled inputs, aqueles inputs que voce define o value dele como sendo um estado, ai o value recebe o estado, e OnChange do input define o estado consequentemente reflete no value do input. Eu troquei isso pelo react-hook-form, alem de evitar um renderização a cada letra digitada, é muuuito menos verboso e muito mais facil de lidar.

  • precisar clonar um resposta da api pra manipular internamente, eu passei a fazer isso pelo controle e invalidamento de cache do react query, e quando percebo que vou ter muito tralbalho para passar essa cache à um componente, eu so faço outra chamada e segue e vida

  • precisar clonar todo um array de dados e alterar algumas informações, como uma lista filtrada, que existe a original e existe a filtrada, aprendi que pode ser criado um estado derivado, ou seja, eu posso criar uma variavel que armazena uma variação dessa estado, sem necessariamente guardar ele em outro estado, e isso salva vidas, ex:

const [users, setUsers] = useState<User[]>([])
const filteredUsers = users.filter(user => user.id === id)

Mas eu uso redux para comunicação de estados entre componentes, como por exemplo, qual estado de filtro minha lista ta? talvez outro componente precisa saber pra mudar algum estilo ou algo do tipo...

O principal motivo pelo qual uso redux é a tipagem, eu nao sei tipar os payloads do useReducer, a forma de tipar o redux é bem mais simples, por isso uso ele, acho bem mais organizado

1
1

Opa Antonio, tudo certo? Eu estou estudando React a um tempo, e até agora consegui fazer bastante coisa sem utilizar biblioteca de gerenciamento de estado, e sinceramente não achei necessidade, até chegar no meu projeto de estudo atual, algo grande, faz necessário uma ferramenta para auxiliar no gerenciamento, apesar de adicionar um pouco de complexidade ela facilita um pouco sua vida na hora de elevar o estado e impede de tudo virar uma bagunça. Pelo menos foi o que eu notei, não vi nada que uma biblioteca de gerenciamento de estado faça que a Context API não faça, apesar de fazer bem feio, faz. Mas é claro isso só na minha pequena experiência, é bom ter uma biblioteca dessa nos seus conhecimentos, porque quando precisar utilizar uma vai ser meio caminho andado.
Espero ter ajudado!

1
1
1

Cara sinceramente, não sei, nunca cheguei nesse problema por causa do nivel de projetos que faço, mas muito obrigado pela pergunta, acabei aprendendo bastante e mudando algumas coisas nos meus projetos de estudo porque fui pesquisar sobre.