Ok, deixe-me explicar passo a passo
1 O que é o fluxo?
- Um padrão
- Expedidor centralizado
- Fluxos de dados unidirecionais
- Item da lista
Eles chamam isso de Flux por um motivo também.
Implementações de fluxo
- Fluxo do Facebook
- Alt
- Refluxo
- Flummox
- NuclearJS
- Fluxável
Um bate-papo com o Flux
Reagir : Olá ação, alguém clicou neste botão "Salvar curso".
Ação : Obrigado Reagir! Registrei um criador de ação no expedidor, para que o expedidor se encarregue de notificar todas as lojas que se importam.
Despachante : Deixe-me ver quem se importa com o salvamento de um curso. Ah! Parece que a loja registrou um retorno de chamada comigo, então eu a informarei.
Loja : Hi dispatcher! Obrigado pela atualização! Atualizarei meus dados com a carga que você enviou. Emitirei um evento para os componentes do React que se importam.
Reagir : Ooo! Novos dados brilhantes da loja! Vou atualizar a interface do usuário para refletir isso!
API de fluxo
register (callback de função) - “Ei despachante, me execute quando ações acontecerem. -Loja"
unregister (string id) - “Hey despachante, pare de se preocupar com esta ação. -Loja"
waitFor (array ids) - “Atualize esta loja primeiro. -Loja"
expedição (carga útil do objeto) - “Ei expedidor, conte às lojas sobre esta ação. -Açao"
isDispatching () - "Estou ocupado enviando retornos de chamada agora."
então a questão que surge em nossa mente é
Então, o fluxo é um modelo de publicação-assinatura?
Nem tanto.
Difere de duas maneiras:
1.Cada carga útil é enviada para todos os retornos de chamada registrados.
2.Os callbacks podem esperar por outros retornos de chamada
Sumário
Fluxo é um padrão para fluxos de dados unidirecionais Ações encapsulam eventos O Dispatcher é um hub central que retém chamadas de retorno Lojas mantém o estado do aplicativo Muitas implementações