Flux - Desenho2018-1/pan-pan GitHub Wiki
Histórico de edição
Autor | Data |
---|---|
Álax Alves | 13/05 |
Flux
Flux, em poucas palavras, é um padrão de arquitetura criado pelo Facebook para lidar com um problema na construção de aplicações frontend baseadas em componentes, como o React. Daí React + Flux, temos o Redux. Flux esta mais para um novo conjunto de padrões do que um framework, e se utiliza da premissa de evitar escrever/reescrever muito código.
Resumindo, o Flux é uma arquitetura utilizada para construir aplicações web ao lado do cliente, com foco na reutilização de código através do encapsulamento de componentes, complementando os componentes combináveis criados com ReactJs, utilizando um método de transporte de dados unidirecional.
Sempre será esse o fluxo da aplicação, caso um componente React (View-Controller) realizar alguma ação, uma nova action será executada enviando informações ao dispatcher que irá atualizar as stores registradas que atualizará todas as views que precisarem ser afetadas.
Implementação no Projeto Pan Pan!
No Pan-Pan temos o seguinte exemplo, a action 'userSignupRequest' cria um dispatch que adiciona o método 'addFlashLoading' que irá exibir uma tela de carregamento enquanto o request não é feito.
import axios from 'axios';
imporport { addFlashLoading } from '../Utils/FlashLoading.js';
export function userSignupRequest(userData) {
return dispatch => {
dispatch(addFlashLoading())
return axios.post('http://localhost:8080/api/users/', userData);
}
}