Como Estruturar Aplicativos React Redux

Mantenha seu código sob controle

Foto de Ferenc Almasi no Unsplash

A dívida com a tecnologia pode aumentar rapidamente ao criar um aplicativo do zero. Frameworks como React e Redux fornecem ótimos padrões para estruturar código modularmente.

E vivemos em um mundo perfeito, então isso é tudo de que precisaremos!

Exceto que não fazemos , e não é .

Ao usar React e Redux, sempre chego a um ponto em que dou um passo para trás e penso “Nossa, quando isso ficou tão bagunçado?”. Isso leva a uma reorganização e, após resolver todos os Line x:y: ‘somethingImportant’ is not defined no-undeferros, estou finalmente satisfeito.

Até, é claro, acontecer novamente, várias semanas depois.

Um código como esse precisa de cuidado constante. Precisa de amor e carinho. Domestique a besta enquanto a torna mais forte. Estruturar código indisciplinado requer uma estratégia abrangente.

Para React & Redux, uso o que gosto de chamar de IARS . Pronuncia-se “EEEARRRRGHS”.

“EEEARRRRGHS ME HEARTY”

IARS

Diga como quiser, IARS significa Interações , Ações , Redutores , Seletores .

Aqui está uma análise.

Interações

É aqui que o trabalho pesado é feito, desencadeado pela atividade do usuário. Salvando algo novo? Coloque a funcionalidade aqui e exporte-a para que o componente front end possa acessá-la.

Qualquer alteração em seu aplicativo deve ser iniciada a partir daqui. Despachar ações de interações.js.

Exemplo: Eu faço muito desenvolvimento Blockchain DApp, então a Figura 1 é um exemplo de uma função em interações.js carregando um jogador de um jogo que estou criando.

Figura 1: Snippet de interações.js

A única dependência externa aqui é playerDetailsLoadedde actions.js .

tennisPlayeré uma instância de contrato inteligente no Blockchain. Ele armazena uma lista de jogadores e expõe uma playersmatriz pública , que é chamada com o idpara recuperar um único jogador.

A Figura 2 mostra como ele é chamado a partir do componente.

Figura 2

Ações

Ações são o que o despachante usa para interagir com os redutores. Seu arquivo actions.js vai ficar parecido com a Figura 3 depois de um tempo.

Figura 3: actions.js

A linha 55 mostra a playerDetailsLoadedfunção chamada do dispatcher em interações.js .

Este arquivo ficará grande muito rapidamente, então é aconselhável transformar actions.js em um diretório de ações e separar as ações logicamente. Mais sobre isso mais tarde.

Redutores

Redutores são o que alteram os dados na loja redux. Se você já usou Redux antes, você saberá como eles são. A Figura 4 mostra um exemplo de nosso PLAYER_DETAILS_SELECTEDredutor na linha 22.

Figura 4: reducers.js

Seletores

Os seletores são o que os componentes usam para acessar os dados na loja redux. Eu uso uma combinação de lodash e reselect em selectors.js . A Figura 5 mostra um snippet de selectors.js com o select usado para obter selectedPlayerDetailsda loja redux.

Figura 5: selectors.js

A Figura 6 mostra como chamá-lo do componente.

Figura 6: Seleção de playerDetails no componente

E aí temos que! Do componente à interação, à ação, ao redutor, ao seletor e de volta ao componente.

A melhor coisa sobre esse padrão é que cada componente precisa saber apenas sobre algumas interações e alguns seletores, mantendo o código do componente limpo.

Crescendo

Comece com um redux / pasta com os seguintes arquivos:

  • interações.js
  • actions.js
  • reducers.js
  • selectors.js

“EEEARRRRGHS”

Leitura Adicional

Recursos de desenvolvimento de Blockchain para seguir agora

Suggested posts

Encontrar informações sobre nomes de domínio

Um trecho de Small, Sharp Software Tools por Brian P. Hogan

Encontrar informações sobre nomes de domínio

Quando você faz uma solicitação para facebook.com, seu computador procura o nome de domínio para traduzir esse nome de domínio em um endereço IP para que seu computador possa fazer essa conexão.

Evitando as consequências devastadoras de um derrame: aprendendo com a jornada de uma família.

Evitando as consequências devastadoras de um derrame: aprendendo com a jornada de uma família.

Introdução O AVC é uma emergência médica que pode atingir qualquer pessoa a qualquer momento. Ocorre quando o fluxo sanguíneo para uma parte do cérebro é interrompido, levando a uma perda repentina da função cerebral.

Related posts

Rastreie qualquer pessoa com apenas um número de telefone | Investigação OSINT

Rastreie qualquer pessoa com apenas um número de telefone | Investigação OSINT

Você pode ser um investigador OSINT, jogador CTF ou simplesmente alguém que está recebendo chamadas de spam. Alguém que está tentando verificar o número que você viu em um anúncio.

Coletando OSINT para caçar ameaças

Coletando OSINT para caçar ameaças

Olá, entusiastas cibernéticos! Bem-vindo de volta ao OSINT para a série de caça a ameaças. No primeiro artigo, apresentei uma visão geral do OSINT e sua importância na caça às ameaças.

A arte é sempre apolítica?

A arte é sempre apolítica?

Ontem, fechamos a porta do Festival Eurovisão da Canção deste ano com uma brilhante e caótica grand finale, onde a cantora sueca Loreen levou para casa o troféu, tornando-se a primeira mulher a vencer duas vezes e trazendo a coroa de volta para a Suécia 50 anos depois que o ABBA venceu a competição com “Waterloo”. Eles se tornaram um dos maiores artistas do cânone da música pop.

O assassinato de Jordan Neely e o problema do racismo “patriótico”

Os EUA podem dar o passo essencial de não igualar comportamento racista a ser um bom americano?

O assassinato de Jordan Neely e o problema do racismo “patriótico”

[Alerta de gatilho: este ensaio inclui capturas de tela de pessoas elogiando o assassino de Jordan Neely.] Os policiais finalmente - e talvez com relutância - acusaram Daniel Penny, o homem que sufocou Jordan Neely até a morte, por aquele homicídio.