Funcionamento de um aplicativo Redux
Agora, munidos de terminologia, podemos analisar brevemente as etapas principais do funcionamento de um aplicativo Redux, que você criará no futuro.
O aplicativo funciona de acordo com o conceito de fluxo de dados unidirecional, como já mencionamos anteriormente.
Na etapa de inicialização (na primeira execução do aplicativo), usando o redutor raiz, é criada a store (armazenamento). A store chama esse redutor apenas uma vez e grava o valor retornado por ele como o estado inicial. Na renderização inicial, os componentes do aplicativo usam o estado atual, gravado na store. Eles também se inscrevem para receber atualizações da store, para serem notificados imediatamente sobre uma mudança de estado.
Durante o funcionamento subsequente do aplicativo, ocorre o seguinte. Suponha que o usuário clicou com o mouse em um botão. Nesse caso, com o auxílio de código, uma action (ação) é formada e enviada para a store. A store executa novamente o redutor com o estado armazenado nela e a action recebida. Como resultado, o valor alterado do estado é salvo como o novo. A store também notifica os componentes inscritos sobre as mudanças de que alterações ocorreram. Por sua vez, os componentes verificam se as partes do estado necessárias para eles foram alteradas. Por fim, se mudanças ocorreram, o componente aciona uma nova renderização para exibir os novos dados.