Curso de Redux en React

Cómo trabajar con Redux en aplicaciones React y beneficiarte de las ventajas ofrecidas por Redux Toolkit
Material disponible
Intermedio
17 Clases 3 h
65€
49€
Precio en promoción
Redux es una biblioteca para la gestión global del estado de las aplicaciones, que ofrece diversas ventajas que permiten desarrollar proyectos escalables con un flujo de datos predecible. Es además uno de los integrantes destacados del ecosistema React, aunque puede usarse en cualquier proyecto Javascript, lo que la convierte en la herramienta más extendida para la gestión del estado de las aplicaciones.

En EscuelaIT hemos abordado Redux en otras ocasiones, aplicando la tecnología con diversos lenguajes y frameworks, pero en este curso queremos dedicarnos de manera exclusiva al marco de trabajo más habitual: las aplicaciones de React. Será un curso con un enfoque exclusivamente práctico donde se desarrollarán aplicaciones que se comunican vía Ajax con servicios web (API REST) para consumir datos, propagarlos mediante los mecanismos de gestión del estado de Redux y exponerlos de manera visual y dinámica a los usuarios en los componentes de React.

Es un curso específicamente pensado para desarrolladores que tienen conocimientos de React y de Redux. Si no es tu caso, te recomendamos cursar primero el Curso de Redux y Redux Toolkit de EscuelaIT, así como el Curso de React.

Qué aprenderé en el Curso de Redux en React

Mecanismos de trabajo con Redux ofrecidos por React Redux Gestión de acciones asíncronas con Redux Definición de comportamientos asíncronos con createAsyncThunk de Redux Toolkit Configuración de Axios para conexiones Ajax con las API REST Cómo usar servicios de autenticación de usuarios y gestionar los token JWT en aplicaciones React basadas en Redux.

Objetivos del curso

En este curso los estudiantes aprenderán a gestionar el estado en aplicaciones desarrolladas con React, usando Redux y Redux Toolkit. Se trabajará aplicando las ventajas introducidas por Redux Toolkit para facilitar para la gestión de comportamientos asíncronos, conectando con servicios web que permitan acceder a datos y almacenarlos en el store de Redux, manteniendo la sincronización con los componentes de React. De manera adicional se verán los mecanismos necesarios para registro y autenticación de usuarios mediante JWT, usando acciones asíncronas de Redux.

Por qué debes aprender Redux y React

React es una biblioteca muy popular que ofrece una gestión elemental del estado. Sin embargo, cuando tenemos aplicaciones mínimamente avanzadas, gestionar el estado de manera local en los componentes y enviarlo mediante el enlace de datos a otros componentes que lo necesiten se hace muy farragoso y puede producir situaciones complejas y poco predecibles.

Es por ello que resulta ideal trabajar con alguna biblioteca adicional que nos permita gestionar de manera global el estado y facilitar la propagación de los cambios a lo largo de todos los componentes de aplicación que lo necesiten. Es ahí donde entra Redux, la librería más extendida para la gestión del estado. Junto con Reac Redux, el complemento oficial para establecer el enlace de datos (binding), forman un tándem especialmente popular en el desarrollo de aplicaciones frontend.

Además, desde la aparición de Redux Toolkit se ha simplificado en gran medida, evitando mucho trabajo repetitivo y eliminando la mayor parte del código boilerplate que antes requería Redux. Es por ello que, si ya tienes conocimientos de ambas librerías, es importante que te actualices con los contenidos que vas a ver en este curso.

Aquí podrás encontrar todas las herramientas del ecosistema React Redux, incluidas las nuevas ventajas introducidas por Redux Toolkit. Las verás puestas en funcionamiento de manera práctica en proyectos frontend para la gestión de datos y para ofrecer funcionalidades de autenticación vía API REST. Gracias a este curso podrás llevar tus aplicaciones a un nivel superior, manteniendo la sencillez en tu código, la escalabilidad y adoptando el patrón más establecido en la industria para la gestión del estado en aplicaciones frontend.

Qué tengo que saber

Para poder abordar este curso es importante que el estudiante tenga los conocimientos básicos de React, que puede adquirir en el Curso de React. Además se da por sabida la librería Redux y Redux Toolkit, cuya materia ha sido tratada con todo detalle en el Curso Práctico de Redux y Redux Toolkit.

Clases y contenidos

Presentación de la sección de React y Redux con Redux Toolkit

Presentación de los objetivos de esta sección del curso de Redux y Redux Toolkit en la que vamos a construir una aplicación React.

Construcción de la aplicación

Construimos la estructura del proyecto usando Vite, una poderosa herramienta frontend. Veremos cómo iniciar un proyecto React con Vite. Instalaremos además otras dependencias necesarias para nuestro curso, como la librería de Redux Toolkit o React Redux. Por último instalaremos Axios para las solicitudes HTTP contra nuestra API REST.

Creación de los archivos de base para Redux

Repasamos la estructura de un proyecto generado con Vite para trabajar con React y comenzamos a incorporar los archivos para gestionar el estado con Redux. Sería el archivo de Store y el archivo Todo-Slice para crear la porción del estado que trabajará con Redux. Luego realizamos los imports para trabajar con Redux dentro de React (React-Redux). Finalmente veremos cómo insertar el provider para Redux, de modo que todas las variables del store estén disponibles en los componentes.

Construcción del slice de todos

En este vídeo vamos a comenzar a trabajar con el slice que nos aportará la funcionalidad de trabajo con el API REST. Primero haremos una pequeña limpieza sobre el código de base que nos trae el template de React de Vite. Luego gestionamos los export e imports del slice de todos y empezaremos a trabajar con el propio slice, creando su estado inicial y declarando los reducers.

Realizamos la UI de la aplicación

En este vídeo vamos a comenzar a desarrollar las interfaces de usuario para esta aplicación, comenzando por el formulario para crear una tarea, el mensaje de carga y la lista de tareas, con cada uno de sus ítem, que verá el usuario con los datos. Ka idea es construir el marcado (HTML), aunque todavía no nos habremos conectado al API REST de "todos" para conseguirlos.

Aplicando algo de CSS para los estilos

En este vídeo veremos cómo aplicar un poco de CSS a nuestra aplicación para que tenga un aspecto más atractivo.

Comenzar los thunks asíncronos para acceso al API desde los action de Redux

Comenzamos a mapear las operaciones que la aplicación necesita para realizar todas las acciones que manejarán el estado. Para ello usaremos createAsyncThunk de Redux Toolkit, que nos permite crear las acciones asíncronas. De momento simplemente colocaremos las cabeceras de todos los thunks que necesitaremos para realizar las acciones de acceso al API REST.

Cómo traer datos del API REST y gestionar las etapas de los thunk

Veremos el cuerpo de nuestra primera acción, que traerá los datos de todas las tareas. Se muestra cómo gestionar la solicitud con Axios y delegar en los extraReducer para implementar los distintos tipos de respuestas de las promesas de Axios. Veremos cómo implementar los extraReducers del slice. Veremos los distintos casos de las solicitudes createAsyncThunk (fulfilled, pending y rejectec), y cómo se implementan en los extraReducers.

Cómo disparar las acciones de Redux y acceder al estado

Veremos cómo se usa el useDispatch que nos aporta React Redux para disparar las acciones. Veremos también cómo se accede al store y sus distintas propiedades con useSelector, también de React Redux. Veremos cómo usar los distintos elementos del estado en la UI creada anteriormente.

Funcionalidad de agregar una tarea

Comenzamos por programar la acción de post del formulario para crear la tarea. Esta parte la hacemos primero con Axios. Luego gestionamos las respuestas asíncronas de las promesas de Axios a través de los case de los extraReducers. Además incorporaremos los comportamientos de React para que nuestra aplicación permita acceder a los valores del formulario y crear los objetos de datos cargados por los usuarios.

Funcionalidad de actualización de una tarea

De manera similar al vídeo anterior, veremos cómo realizar toda la operativa con la acción asíncrona que nos permita actualizar una tarea. Se verá cómo realizar el thunk, la operativa HTTP por Ajax de Axios, los extraReducers y sus case de los createAsyncThunk y el acceso a los datos del formulario por los procedimientos comunes que nos aporta React con sus hooks estándar.

Action para borrar tareas

Realizaremos la acción de borrar una tarea con Redux, Redux Toolkit y Axios. Usando el conocimiento de vídeos anteriores resultará muy sencillo y rápido.

Acción Redux para marcar y desmarcar una tarea como completada

Cómo hacer la funcionalidad para marcar y desmarcar una tarea como completada, usando todos los mecanismos de Redux tratados en vídeos anteriores.

Conclusiones sobre el uso de React en Redux

Unas breves conclusiones sobre la sección presente con las bases del uso de Redux y Redux Toolkit en aplicaciones React.

Introducción al bloque de autenticación en aplicaciones React basada en Redux y API REST

En este vídeo vamos a explicar el enfoque de este bloque del curso, en el que pretendemos demostrar que los comportamientos de actions, thunks y el propio store de Redux los puedes usar en cualquier tipo de aplicación, independientemente de si estás trabajando con React o con otro framework de vistas o componentes.

Cómo aplicar Redux y actions con Redux Toolkit para autenticación de usuarios en React

En este vídeo mostraremos una aplicación de React que da servicio de autenticación de usuarios por medio de tokens JWT y actions creadas con Redux y Redux Toolkit. Estos servicios de autenticación basados en Redux ya habían sido programados en el Curso Práctico de Redux y Redux Toolkit. Simplemente los estamos integrando ahora en una aplicación React, sin necesidad de tocar una línea de código de lo que se había desarrollado con Redux.

Cómo integrar Web Components de utilidad en nuestra aplicación React

Este vídeo lo puedes considerar un extra en el que veremos que también somos capaces de integrar componentes de utilidad desarrollados en el Curso Práctico de Redux y Redux Toolkit (Custom Elements del estándar Web Components, basados en Lit). Esos componentes se pueden usar perfectamente con React y, como están conectados directamente con el store de Redux, no necesitan ningún tipo de integración para hacerlos funcionar en React, por lo que resulta prácticamente inmediato, simplemente colocar sus imports y el código de uso del componente Lit en la vista de React. Ellos son capaces de funcionar de manera muy autónoma y ofrecer el servicio de mostrar mensajes de feedback y mensajes de la típica ruedita de "loading".

¿Conoces nuestra tarifa plana?

Toda la formación de EscuelaIT, con más de 200 cursos completos para aprender las más variadas tecnologías de programación, diseño y marketing online. Todo! con tu suscripción.

Suscríbete