Logo de Código Facilito
  • Inicio
  • Replays
  • Iniciar sesión
  • Crear cuenta
  • Explorar cursos
  • Bootcamps
  • Precios
  • Blog

¡Califica el Curso para crear Single Page Applications con React!

Selecciona la calificación de 1 a 5 estrellas

Reporta un error

Curso Curso para crear Single Page Applications con React

Video Terminología en Redux

Tipo de error

Algo salió mal al cargar el vídeo

El vídeo no pudo cargarse, hemos enviado un reporte al equipo de desarrollo, para poder solucionarlo a la brevedad.

Mientras solucionamos el problema, intenta lo siguiente para solucionar el error:

  • Recarga la página
  • Intenta reiniciar tu navegador y luego vuelve a reproducir el vídeo
  • Vacía el caché de tu navegador
  • Intenta reproducir con las extensiones del navegador deshabilitadas
  • Intenta con un navegador distinto
  • Si el problema persiste contáctanos en Discord
home Ir al inicio report_problem Reportar falla star Valorar curso

Redux define una serie de términos que describen algunos de los elementos y algunas operaciones involucradas en el flujo de información. Veamos cuáles son.

Hablamos del store, como una referencia al state de nuestra aplicación, es decir la información, más los reducers que pueden modificar el state. Es decir que el store es la información, y las funciones para modificar el store.

Cuando queremos comunicar una modificación desde la vista al store, usamos una operación de nombre dispatch. Por lo que también podemos decir que para comunicarnos con el store debemos usar dispatch.

La operación dispatch, recibe y envía un objeto que describe los cambios que queremos hacer, a estos objetos descriptores de cambios los llamamos Actions, o acciones.

La estructura de estas Actions se ve de la siguiente manera

{
  type: “users/signIn”,
  payload: { email: “urielcodigofacilito.com”  }
}

Todos los actions contienen una propiedad type, que identifica el tipo de evento que se realizará. Opcionalmente, pueden incluir una propiedad payload, en caso de que neceisten enviar información para que se realice el cambio. En este ejemplo tenemos una modificación correspondiente al login de un usuario, junto con el usuario que ingresó.

Cuando el store recibe un action para realizar un cambio, envía este objeto a los reducers del store, a las funciones que realizan los cambios. Las funciones reducers, usualmente evalúan la propiedad type de la action, para definir si harán una modificación, o dejarán pasar el cambio. Normalmente, sólo un reducer aplica modificaciones para cada tipo distinto de action que existe.

Los reducers se caracterizan por ser funciones puras, es decir, funciones que no producen efectos secundarios y manejan estructuras inmutables. Esto quiere decir que dentro de un reducer, no puedes hacer peticiones AJAX, usar timers, intervalos, o modificar variables externas al reducer, ya que todas estas operaciones se considera que producen efectos secundarios.

Alternativamente puedes pensar en las funciones puras como funciones que, si son llamadas con los mismos argumentos, siempre producen los mismos resultados. Cuando involucramos valores externos a la función en su operación, no podemos asegurar que la función siempre retorne el mismo resultado, por lo que ya no se consideran funciones puras.

El state en Redux también es inmutable, es decir, no se puede modificar. Para ser actualizado, el state debe ser reemplazado completamente. Internamente React y Redux podrán detectar cuáles han sido los cambios en el nuevo reemplazo, para actualizar la UI.

En términos prácticos podemos decir que aunque los reducers son funciones que modifican el estado, en realidad estas funciones lo reemplazan. De hecho, cualquier cosas que retorna un reducer se usa para sustituir el state.

Es común que en una aplicación grande, el state se subdivida en porciones, delegando a cada división del state, un reducer distinto. A estas divisiones las llamamos slices. En un state como el siguiente:

{
  user: {}
  videos: []
}

Podemos tener una serie de reducers para user, y otro grupo de reducers para videos.

Por último, usualmente escucharás hablar de action creators. Estas son funciones que retornan objetos action, que describen un cambio. Se implementa este concepto, para evitar escribir los objetos action en cada componente, haciendo más fácil que modifiquemos las acciones, y evitando posibles bugs al generar estos objetos de cambio.

¡Y listo! Ahora que ya conocemos cuáles son los conceptos al hablar de Redux, continuemos en la implementación.

  • Módulo 1 | 6 clases

    Introducción

    expand_more
    • play_circle_outline

      Clase 1

      1.- Introducción al curso de Single Page Apps con React

    • play_circle_outline

      Clase 2

      Conocimientos previos [Curso React SPA]

    • play_circle_outline

      Clase 3

      Cómo instalar Node.js en Windows

    • play_circle_outline

      Clase 4

      Cómo instalar Node.js en Mac

    • play_circle_outline

      Clase 5

      Configurar el servicio web

    • play_circle_outline

      Clase 6

      Iniciar el proyecto con create-react-app

  • Módulo 2 | 8 clases

    Routing en el cliente

    expand_more
    • play_circle_outline

      Clase 1

      Router del cliente

    • play_circle_outline

      Clase 2

      Configurar react-router v6

    • play_circle_outline

      Clase 3

      Definir rutas

    • play_circle_outline

      Clase 4

      Links de navegación

    • play_circle_outline

      Clase 5

      Rutas anidadas

    • play_circle_outline

      Clase 6

      Navegación con JavaScript

    • play_circle_outline

      Clase 7

      Leyendo parámetros

    • play_circle_outline

      Clase 8

      Ranking de rutas

  • Módulo 3 | 13 clases

    Autenticación de usuarios

    expand_more
    • play_circle_outline

      Clase 1

      Qué es Redux

    • play_circle_outline

      Clase 2

      Flujo de cambios en Redux

    • play_arrow

      Clase 3

      Terminología en Redux

    • play_circle_outline

      Clase 4

      Instalar y configurar redux

    • play_circle_outline

      Clase 5

      Redux devtools

    • play_circle_outline

      Clase 6

      Mocking de autenticación

    • play_circle_outline

      Clase 7

      createSlice explicado

    • play_circle_outline

      Clase 8

      Redux thunks

    • play_circle_outline

      Clase 9

      Registro de usuarios

    • play_circle_outline

      Clase 10

      Inicio de sesión

    • play_circle_outline

      Clase 11

      Cerrar sesión

    • play_circle_outline

      Clase 12

      Persistencia de datos

    • play_circle_outline

      Clase 13

      Whitelist y blacklist redux-persist

  • Módulo 4 | 10 clases

    Consumir servicios web

    expand_more
    • play_circle_outline

      Clase 1

      Crear el reducer para videos

    • play_circle_outline

      Clase 2

      Autenticación del servidor con JWT

    • play_circle_outline

      Clase 3

      Obtener videos

    • play_circle_outline

      Clase 4

      Formulario para subida de archivos

    • play_circle_outline

      Clase 5

      Subida de archivos

    • play_circle_outline

      Clase 6

      Mostrar videos

    • play_circle_outline

      Clase 7

      Configurar el reproductor de video

    • play_circle_outline

      Clase 8

      Mostrar videos individualmente

    • play_circle_outline

      Clase 9

      Perfil de usuario

    • play_circle_outline

      Clase 10

      Postear likes en un video

  • Módulo 5 | 19 clases

    Styled components

    expand_more
    • play_circle_outline

      Clase 1

      CSS in JS [React Single Page Apps]

    • play_circle_outline

      Clase 2

      Fundamentos y configuración de styled components

    • play_circle_outline

      Clase 3

      Trabajando con props

    • play_circle_outline

      Clase 4

      Extendiendo estilos de otros componentes

    • play_circle_outline

      Clase 5

      Props y atributos

    • play_circle_outline

      Clase 6

      Nesting

    • play_circle_outline

      Clase 7

      Bloques reusables de CSS

    • play_circle_outline

      Clase 8

      Configurando un tema

    • play_circle_outline

      Clase 9

      Layout de la app

    • play_circle_outline

      Clase 10

      Estilizando la página de videos

    • play_circle_outline

      Clase 11

      Botones del vídeo

    • play_circle_outline

      Clase 12

      Navegación del encabezado y del pie de página

    • play_circle_outline

      Clase 13

      Formulario de inicio de sesión

    • play_circle_outline

      Clase 14

      Mostrar navegación y footer condicionalmente

    • play_circle_outline

      Clase 15

      Registro de usuario y rutas condicionales

    • play_circle_outline

      Clase 16

      Vista de la subida de archivos

    • play_circle_outline

      Clase 17

      Vista del perfil de usuarios

    • play_circle_outline

      Clase 18

      Botón para cerrar sesión

    • play_circle_outline

      Clase 19

      Vista individual de videos

  • Módulo 6 | 7 clases

    Scroll infinito

    expand_more
    • play_circle_outline

      Clase 1

      Los desafíos de implementar scroll infinito

    • play_circle_outline

      Clase 2

      Configurando Infnite Loader y List

    • play_circle_outline

      Clase 3

      Mostrar videos en el contenedor de carga infinita

    • play_circle_outline

      Clase 4

      Paginación de videos

    • play_circle_outline

      Clase 5

      Integrar paginación con el contenedor de carga infinita

    • play_circle_outline

      Clase 6

      React Devtools

    • play_circle_outline

      Clase 7

      Detalles finales de la carga infinita

  • Módulo 7 | 4 clases

    Deploy a producción

    expand_more
    • play_circle_outline

      Clase 1

      Media queries con styled components

    • play_circle_outline

      Clase 2

      Manejo de variables de entorno

    • play_circle_outline

      Clase 3

      Generar el build

    • play_circle_outline

      Clase 4

      Deploy a Firebase Hosting

  • check_circle_outline
    Módulo 8

    Examen del curso

    expand_more
    • done_all

      Examen

      Examen final del curso

Terminología en Redux

arrow_back Siguiente arrow_forward
Curso para crear Single Page Applications con React