(normalmente el estado actual) y una accion, y devuelve un nuevo estado. Lo importante es: NO MUTA/MODIFICA EL ESTADO ANTERIOR. Internamente dentro de un reducer normalmente se utiliza un Switch para retornar diferentes estados segun la accion, pero esta logica puede ser manejada como le quede mas comodo al desarrollador o al equipo. c o n s t i n i t i a l S t a t e = { n a m e : n u l l } ; f u n c t i o n r e d u c e r ( s t a t e = i n i t i a l S t a t e , a c t i o n ) { c o n s t { t y p e , p a y l o a d } = a c t i o n ; s w i t c h ( t y p e ) { c a s e : A c t i o n . G r e e t : r e t u r n { . . . s t a t e , n a m e : p a y l o a d } ; / / p a y l o a d c o n t i e n e u n s t r i n g d e f a u l t : / / e l s p r e a d o p e r a t o r n o s p e r m i t e c r e a r n u e v o s o b j e t o s f a c i l m e n t e r e t u r n { . . . s t a t e } } }