El manejo de estado en una aplicación es crítico, y desgraciadamente muchas
veces se hace de forma desordenada y sin mucha consistencia. Redux
nos ofrece
un contenedor de estado que nos ayudará a manejar el estado de forma más
consistente y predecible.
Como referencia, Redux
es una evolición de ideas presenadas por Flux
de
Facebook.
Tags: redux
, react
, reselect
, redux-thunk
, redux-saga
,
redux-observable
, rxjs
, jest
, enzyme
Para quién es este curso?
Qué conocimientos previos se necesitan?
- create-react-app
- react
- react-dom
- redux
- react-redux
- redux-thunk
- redux-saga
- redux-observable
- rxjs
- reselect
- jest
- enzyme
Durante este curso construirás un "Single page app" con las siguientes características:
- Estar desarrollada íntegramente en
ES6
y empaquetada de manera automatizada conbabel
owebpack
- Utilizando
React
yRedux
- Con por lo menos 10 componentes que especifiquen todas sus props, 3 reducers no atómicos (JSON) y 3 actions
- Contar con scripts
run
,build
ydeploy
, que se encarguen de correr, empaquetar y desplegar la aplicación respectivamente. - Despeglado en Github pages
- Haber administrado y documentado todo el proceso de creación de la aplicación en GitHub.
- Al día de la demo, la aplicación deberá estar publicada en una URL accesible universalmente.
- No es necesario implementar rutas
- No es necesario implementar persistencia
- No es necesario implementar conexiones remotas
- The Single Immutable State Tree
- Describing State Changes with Actions
- Creación de equipos
- Selección de producto
- Brainstorming, storyboarding
- Identificación y división de tareas
- redux-thunk
- redux-saga
- redux-observable
- rxjs
- Crear app con create-react-app
- Añadir dependencias
- Crear componentes (
App
,TopBar
,Main
,List
,ListItem
) - Crear reductor
- Crear acciones
- Crear store
- Conectar
List
a store
- selectores
- filtrado y ordenado
- data precomputada
- reselect
- crear selectores
- añadir filtrado y ordenado
- memoizar data precomputada
En este taller...
Cada equipo tendrá 10 minutos para presentar su demo (5min presentación + 5min preguntas).
- Lupo Montero
- Otros colaboradores?
Cada curso debe de estar acompañado de una lista detallada de libros relacionados con los temas tratados en el curso.
Incluir una lista de capítulos de libros, blog posts, videos, y otros recursos como links a wikipedia, documentación, ...