Cookie Consent by Free Privacy Policy Generator 📌 Hora de substituir o Redux


✅ Hora de substituir o Redux


💡 Newskategorie: Programmierung
🔗 Quelle: dev.to

Olá pessoas! Vamos deixar claro desde o início que Redux não é ruim. Ruim é a forma como usam ele. Eu uso o ele desde 2016, e muitas vezes vejo as pessoas cometendo os mesmos erros. O principal? Querem usar Redux para tudo.

Muitas vezes as pessoas começam usando Redux para resolver problemas que fazem sentido, mas logo começam a cair na armadilha de adicionar o resto da aplicação para fazer sentido o investimento em usar o Redux. "Fica mais fácil e tudo centralizado" eles dizem, mas na maioria das vezes não fica.

Mas, o que é esse tudo o que eu to falando?

Texto escrito Tudão.png

O que é tudo?

Estados locais como coisas visuais e formulários, estados de uma única página como query strings de URL, estados simples e não compartilhados, e requisições simples que não precisam ser cacheadas.

Você consegue resolver todos os problemas de cima com soluções simples, porque todos esses problemas são simples. Redux é complexo porque é feito para resolver problemas complexos. Mas como falei, muitas pessoas insistem em usar isso como uma bala de prata que funciona para tudo.

Não só você está tornando seu código mais complexo, como também está introduzindo mais responsabilidades pra você. Em vez de ter um estado que some quando o componente ou Context são destruídos, agora você tem um estado global cacheado que só será limpo se você tomar uma ação. Gerenciar cache é complicado, e o Redux puro não é a ferramenta aconselhada pra isso.

Os melhores casos pro Redux são estados complexos e com muitas interações. Isso não sou nem só eu que digo. Desde 2016 essa é uma opinião popular compartilhada por várias pessoas, incluindo um dos criadores do Redux e também está no próprio site do Redux.

Dito tudo isso... Até nesses casos eu ainda aconselharia outras opções além do Redux.

Mas qual é o problema do Redux?

Na real, são problemas. Não existe nenhuma opção na vida que seja perfeita. Tudo tem pontos positivos e negativos, e o Redux não é excessão. Além disso, na minha opinião, já surgiram muitas outras bibliotecas que resolvem os problemas que o Redux tenta resolver e de forma melhor.

Os principais problemas pra mim são a quantidade de código, e a gerenciamento de cache.

Quantidade de código

Recentemente eu troquei várias páginas de um projeto que estava usando Redux por @tanstack/react-query e a redução foi de mais ou menos 50% do código. Mesmo contando com yarn.lock, configuração pra testes e do projeto, ainda assim eram 200 linhas adicionadas pra 360 removidas.

Por que isso? Porque Redux não era a solução ideal pra isso, mais especificamente, Redux Toolkit. Bem provavel que o RTK Query (Redux Toolkit Query) também reduzisse bastante as linhas de código, mas no final as soluções apresentadas pelo @tanstack/react-query eram melhores pro nosso projeto.

Outro exemplo são estados compartilhados e globais. Se eles ainda são simples ou não mudam muito, como permissões, tema, ou lingua, você pode muito bem manter eles em um Context. O código pra manter isso é muito menor, e mais fácil de entender.

Gerenciamento de cache

Redux e RTK (Redux Toolkit) em si não foram feitos para gerenciar cache. RTK Query foi. Não só ele, como várias outras ferramentas. Mas o que eu quero dizer com isso? Que quando você tenta usar apenas Redux ou RTK, você terá que desenvolver todas essas técnicas. Voucê vai ter que pensar nos items a seguir e muito mais:

  • Quando que devemos eliminar/invalidar o cache?
  • Quando que o cache vai estar "vencido"?
  • Vamos usar parte dos dados primeiro e fazer um request por trás?

São várias pequenas decisões, onde cada uma traz seus problemas, e que a responsabilidade de planejar todas elas passou a ser nossa. Não precisa ser assim. Como falei antes, tem ferramentas que já fazem isso pra gente. RTK Query, TanStack Query, Apollo Client, etc. Todos eles tem várias ferramentas para poder lidar com o cache. Nós ainda temos a responsabilidade de saber como e onde usar, mas não precisamos desenvolver toda a lógica por trás disso e seus bugs.

Conclusão

Pare de usar Redux para tudo. Problema simples, solução simples. Como o pessoal fala use o KISS (Keep it simple stupid) ou a versão brasileira, o MSO:

Rogerinho do Ingá falando "Mantenha simples otário"

Espero ter ajudado, e até a próxima \o/

...

✅ Hora de substituir o Redux


📈 79.17 Punkte

✅ Redux VS Redux Toolkit && Redux Thunk VS Redux-Saga


📈 57.4 Punkte

✅ http://www.hora.go.th/m-1.html


📈 30.15 Punkte

✅ Posso ficar dependente das IAs na hora de inovar na criação de códigos?


📈 30.15 Punkte

✅ Compondo música com Java! É hora do Jmusic


📈 30.15 Punkte

✅ Exploring Redux Toolkit 2.0 and the Redux second generation


📈 28.7 Punkte

✅ Setting up Redux Persist with Redux Toolkit in React JS


📈 28.7 Punkte

✅ React Redux Tutorial #1 - Was ist React Redux


📈 28.7 Punkte

✅ React Redux Tutorial #1 - Was ist React Redux


📈 28.7 Punkte

✅ Connecting Redux Form with React Redux


📈 28.7 Punkte

✅ Connecting Redux Form with React Redux


📈 28.7 Punkte

✅ Effective State Management in React: Comparing Redux, Context API, and Recoil


📈 14.35 Punkte

✅ Redux-like state container in SwiftUI: Connectors.


📈 14.35 Punkte

✅ When and Why to Use REDUX NgRx in Angular


📈 14.35 Punkte

✅ Chrome Zero Days, Schneider Electric Meters, Exchange Redux, & Signal - SWN #107


📈 14.35 Punkte

✅ Observer: System Redux will be releasing on Xbox Series X later this year


📈 14.35 Punkte

✅ AMD: Neuer Treiber heißt Adrenalin nicht Crimson ReLive Redux [Notiz]


📈 14.35 Punkte

✅ Gratisspiel: GOG verschenkt Metro: Last Light Redux [Notiz]


📈 14.35 Punkte

✅ Observer: System Redux - Ist das die Fortsetzung auf die Fans warten?


📈 14.35 Punkte

✅ Epic Games Store | Everything und Metro 2033 Redux als Gratis-Spiele


📈 14.35 Punkte

✅ Microsoft Windows Sandboxed Mount Reparse Point Creation Mitigation Bypass Redux 2


📈 14.35 Punkte

✅ Data Flow in Redux Explained – A State Management Handbook


📈 14.35 Punkte

✅ Exemplo de MVVM com Redux em React Native


📈 14.35 Punkte

✅ Redux Toolkit Simplified


📈 14.35 Punkte

✅ Redux-like state container in SwiftUI. Side effects.


📈 14.35 Punkte

✅ Observer: System Redux is a launch title for Xbox Series X and S


📈 14.35 Punkte

✅ Set Up a Typescript React Redux Project


📈 14.35 Punkte

✅ Advanced React and Redux: 2018 Edition


📈 14.35 Punkte

✅ [DAY 57-59] I learned React & Redux


📈 14.35 Punkte

✅ Understand Redux Toolkit Query and its Applications in Web App Development


📈 14.35 Punkte

✅ Integration of Firebase Firestore With Redux Toolkit Query


📈 14.35 Punkte

✅ How to Build a Basic CRUD App with NextJS, TS, React, Redux-Tookit and MUI5 Components


📈 14.35 Punkte











matomo

Datei nicht gefunden!