React
Generados a partir de la información del modelo, pero la actualización del modelo se realiza de forma explícita.
Información Inmutable
Información mutable
Si cambia, renderiza componente por completo
Capa de abstracción
cuando hay un cambio:
1- Ejecuta el algoritmo Diffing, para identificar que ha cambiado
2- Actualiza lo que ha cambiado únicamente
Copia en memoria del DOM
Test unitarios
Dom renderizado por completo
HMTL estático
Sistema para Bundelizar
Browserify Avanzado
Evolucion de Grunt y Gulp
Multiples opciones de configuracion
Transpilación código ES2015
Preprocesado .scss o sass
Minificación
Redux
Todo el estado de la aplicación esta contenido en un único store.
La única forma de modificar el estado es emitir una acción que indique que cambió.
Para controlar como el store es modificado por las acciones se usan reducers puros
Redux
Redux
Funciones que devuelve POJOs
function addTodo(text) {
return {
type: 'ADD_TODO',
payload: {
text,
},
};
}
Redux
Se encargan de describir como reacciona la aplicación a la acción
Función pura que recibe el estado actual y una acción y devuelve el nuevo estado.
import { combineReducers } from 'redux';
function todos(state = [], action) {
switch(action.type) {
case 'ADD_TODO':
const copy = Array.from(state);
copy.push(action.payload.text);
return copy;
default:
return state;
}
}
const reducers = combineReducers({
todos,
});
export default reducers;
Redux
.
import { createStore } from 'redux';
import reducers from './reducers.js';
const initialState = {
todos: [],
};
const store = createStore(reducers, initialState);
export default store;
Redux
Redux
Redux
Redux
?
¿
React + Redux
Petición
Server
Client
http://example.com/faq
HTML Renderizado
window.state = { }
React + Redux
Reduce el FOUC
SEO
Reduce el tiempo de carga
React + Redux
React + Redux
React + Redux
Libreria completa y maduración óptima
Permite desarrollo ágil, ordenado y arquitectura mantenible focalizada en un gran performance
Framework robusto junto con Redux