Guía completa de Redux Toolkit con React JS | Saumitra Vishal | Skillshare

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Guía completa de Redux Toolkit con React JS

teacher avatar Saumitra Vishal, Front End Developer

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Introducción

      3:18

    • 2.

      ¿Qué es Redux y por qué lo usamos?

      2:29

    • 3.

      ¿Qué es Redux Toolkit?

      3:16

    • 4.

      Comprende la API de Redux-Toolkit

      2:53

    • 5.

      Comprende createAsyncThunk

      3:03

    • 6.

      Proyecto 1 - Configuración

      2:42

    • 7.

      Proyecto 1: estructura nuestra aplicación

      4:07

    • 8.

      Proyecto 1: trabaja en la forma

      5:57

    • 9.

      Proyecto 1: configuración y escritura de Acción GET con createAsyncThunk

      9:47

    • 10.

      Proyecto 1 - Despacho GET createAsyncThunk Acción

      7:31

    • 11.

      Proyecto 1 - Añade buttons

      2:03

    • 12.

      Proyecto 1 - DELETE con createAsyncThunk

      3:07

    • 13.

      Proyecto 1 - Acción POST con createAsyncThunk

      3:22

    • 14.

      Proyecto 1: trabaja en la creación de un formulario posterior

      7:08

    • 15.

      Proyecto 1 - Acción de envío POST createAsyncThunk

      5:38

    • 16.

      Proyecto 1 - Acción de PUT con createAsyncThunk

      4:13

    • 17.

      Proyecto 1: poblar datos de la publicación en forma

      6:22

    • 18.

      Proyecto 1 - Acción de actualización de DISPATCH PUT createAsyncThunk

      4:08

    • 19.

      Aplicación Cocktail de Project 2 - Demo

      1:33

    • 20.

      Aplicación Cocktail de Project 2 - Configuración

      2:44

    • 21.

      Aplicación Cocktail de Project 2 - encabezado

      2:44

    • 22.

      Aplicación Cocktail de Project 2: configura Redux-Toolkit

      12:01

    • 23.

      Aplicación Cocktail de Project 2 - Componente de búsqueda

      4:09

    • 24.

      Aplicación Cocktail de Project 2: muestra cómo usar acciones

      14:01

    • 25.

      Aplicación Cocktail de Project 2: acción para buscar a Cocktail

      2:17

    • 26.

      Aplicación de Project 2 Cocktail: página de detalles de Cocktail

      15:54

    • 27.

      Aplicación Cocktail de Project 2: busca Cocktail

      6:01

    • 28.

      Carro de compras de Project 3 - demostración de aplicación

      2:31

    • 29.

      Carro de compras de Project 3 - Configuración

      4:14

    • 30.

      Carro de compras de Project 3: configuración de RTK

      5:17

    • 31.

      Carro de compras de Project 3 - Navbar

      6:51

    • 32.

      Carro de compras de Project 3 - Diseño de carrito

      14:00

    • 33.

      Carro de compras de Project 3 - Cart Total Action

      4:51

    • 34.

      Carro de compras de Project 3: aumentar, disminuir y eliminar acciones

      8:56

    • 35.

      Carro de compras de Project 3: acción de carrito vacío

      5:09

    • 36.

      Carro de compras de Project 3: valor de Carro de Persist con Redux-Persist

      4:57

    • 37.

      Aplicación de blog de Project 4 - Demo

      0:43

    • 38.

      Aplicación de blog de Project 4: descripción general del código

      4:03

    • 39.

      Aplicación de blog de Project 4 - Blog Slice

      3:07

    • 40.

      Aplicación de blog de Project 4: crea blogs con useSelector

      2:32

    • 41.

      Aplicación de blog de Project 4: crea un selector de blogs

      2:00

    • 42.

      Aplicación de blog de Project 4: crea acción para agregar blogs

      1:43

    • 43.

      Aplicación de blog de Project 4: entiende el rol de js de inmersión

      1:06

    • 44.

      Aplicación de blog de Project 4: acción de envío para agregar blogs

      6:29

    • 45.

      Aplicación de blog de Project 4: usa Prepara llamadas

      5:42

    • 46.

      Aplicación de blog de Project 4: herramienta de desarrollo Redux

      2:18

    • 47.

      Aplicación de blog de Project 4: crea una sección de usuario

      2:42

    • 48.

      Aplicación de blog de Project 4: incluye usuarios en Dropdown

      2:30

    • 49.

      Aplicación de blog de Project 4: modifica la acción y prepara la devolución de llamada

      1:47

    • 50.

      Aplicación de blog de Project 4: muestra tu blog con el usuario

      4:37

    • 51.

      Aplicación de blog de Project 4: acción Redux para gustar o no

      3:49

    • 52.

      Aplicación de blog de Project 4: muestra cómo te gusta/no te gusta/no

      4:26

    • 53.

      Cierre

      1:24

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

279

Estudiantes

--

Proyecto

Acerca de esta clase

Conviértete en un desarrollador Frontend muy demandado al agregar el conjunto de habilidades de Redux-Toolkit a tu conocimiento de React. Este curso está diseñado de tal manera que cualquier persona que quiera mejorar su concepto de Redux puede inscribirse en este curso.

Este curso basado en proyectos te permitirá programar de inmediato. Crear aplicaciones con la ayuda de React y Redux-Toolkit en este curso afinar tus habilidades en desarrollo web moderno.

Con la ayuda de middleware createAsyncThunk, aprenderás a trabajar con API en React Application. Y estoy seguro de que después de tomar este curso dominarás la implementación de Redux-Toolkit en cualquiera de tus aplicaciones de React existentes.

En este curso, aprenderás a continuación el concepto clave relacionado con Redux-Toolkit con React:

  • ¿Cómo encaja el kit de herramientas Redux en una aplicación de página única frontal con React?

  • ¿Qué es Redux-Toolkit y su API?

  • ¿Cómo configurar la tienda con Redux-Toolkit ?

  • Aprende diferentes API de Redux-Toolkit como createSlice, configureStore, createAction, createReducer y createAsyncThunk

  • ¿Cómo hacer una solicitud de API con Redux-Tookit usando middleware createAsyncThunk y lidiar con la respuesta?

  • Comprende un estilo de vida prometedor diferente que se genera con el middleware createAsyncThunk.

  • Aprende frameowrk de Diseño de Ant para crear el componente de React.

Requisito básico

  • Se requiere algún tipo de conocimiento de HTML, CSS y JavaScript.
  • Comprensión básica del módulo de ES6
  • El conocimiento básico de React agregará una ventaja.
  • El conocimiento de Redux requirió poco, pero lo explicaré desde cero.
  • No se requiere experiencia laboral previa con el servidor JSON.

Requisitos de software

Conoce a tu profesor(a)

Teacher Profile Image

Saumitra Vishal

Front End Developer

Profesor(a)

I am front-end Web developer, specialize in the area of React JS

I have a bachelor degree in Computer Science from KIIT University. 

Will be happy to share my knowledge and create great content for everybody who wants to join my classes.

You can also join me on my YouTube platform, I have more than 8k subscriber on my Youtube Channel.

Let's build awesome things together :)

Ver perfil completo

Habilidades relacionadas

Desarrollo Herramientas de desarrollo React
Level: All Levels

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Introducción: Hola y bienvenidos a este curso en el que vamos a aprender el concepto moderno de Redux. Eso es Rudolf toolkit con religioso, Mi nombre es Rachel y seré tu instructora en este curso. Entonces, si eres un desarrollador de React, entonces podrías estar usando el derivado como una gestión estatal para que reacciones la aplicación para mantener el estado de la aplicación. Y es posible que también estés usando lengua redacta o redactando middleware saga para manejar efectos secundarios en tu aplicación. Recientemente, redact equipo se le ocurrió el nuevo enfoque para escribir lógica en más eficiente cuando lanzan leer un kit de herramientas. Y con esta herramienta, las cosas se vuelven mucho más fáciles. Pensé en crear un nuevo curso sobre este tema. Porque esta área yDa toolkit biblioteca nos permite implementar redox de manera mucho más fácil y concisa entonces solía ser. Ahora, permítanme darles el breve panorama de Rudolf a aquellos de ustedes que no saben de qué es. Esa falla es la biblioteca de administración estatal que usamos en nuestra aplicación React, así como vas a usar dentro de tu aplicación. No sólo con React, sino que es muy popular. La biblioteca React, esa es la visión general de la reduct. Entonces vamos a entender lo que vamos a aprender en este curso. En primer lugar, comenzaremos con algún concepto teórico. Al igual que trataremos de entender el problema central de React y por qué usamos Redux dentro de reaccionar. Entonces entenderemos como qué es un kit de herramientas y qué APA incluyendo dijo este peaje redacta, qué es crear un tanque de reflexión. Entonces todos estos conceptos que vamos a entender con la ayuda de la pubertad. Después de eso, comenzaremos a construir nuestra aplicación con la ayuda de redact herramienta crear y crear un think tank en el que vamos a realizar toda la operación de multitud con la ayuda de marcador de posición JSON fake EPA. Con esta aplicación, vas a aprender a hacer ese post PUT y eliminarlo con create, creo que middleware en tu aplicación reaccionar redact Toolkit. Esta aplicación vamos a construir en este curso con la ayuda de reduct peaje en React. Ahora, hablemos del requisito básico para este curso. Este curso está diseñado de tal manera que cualquiera puede unirse a este curso que esté interesado en aprender concepto redox moderno, solo necesita tener comprensión básica de HTML, CSS, JavaScript, así como Reaccionar los conocimientos básicos. Al final de este curso, tendrá plena comprensión del concepto de kit de herramientas reduct. Y también podrás implementar kit de herramientas redact en tu cualquier proyecto React existente. Y también podrás convertir esos proyecto React redux en el que el viejo código Redux mientras que Gran Bretaña en herramienta de lector podría. ¿ A qué esperas unirte a este curso para aprender todo este concepto moderno? Y si tienes alguna consulta o sugerencia, entonces siempre puedes llegar a mí. Voy a intentar mi nivel mejor para resolver su toda la consulta. Entonces eso es todo. Desde mi final, te veré en la sección del curso. 2. ¿Qué es Redux y por qué usamos?: En este video primero, entenderemos el problema central de la gestión patrimonial React js. Contamos con nuestro componente principal de aplicaciones. Entonces conseguimos nuestro subcomponente. Si queremos cambiar un texto, entonces no podemos hacerlo directamente. En cambio, tengo que informar a un padre y cambiar el texto ahí. Y si tengo componente adicional, entonces se volverá aún más complejo. Por lo tanto, tenemos una lectura de las cuales tienen un enfoque diferente. Entonces aquí tenemos nuestra visión, nuestra aplicación, y en esta aplicación en cualquier componente dado se despachará y actuará. Entonces marca de acción a través del reductor. Reductor trabajo o tarea bastante simple. Tomará una acción, entonces tomará todo lo manipulado, y dará un nuevo estado. Esta manipulación sucederá, hornear en lo inmutable. Eso significa que no cambiará el viejo vector. Tomará todo el circuito como base y luego creará una nueva copia de todos los representados con los cambios en ploidy sí permanecieron intacto. Simplemente creamos un nuevo levantado y devolvemos este nuevo estado. Este inmutable te da un estado único en tu aplicación. Ahora estamos consiguiendo un nuevo estado se puede reducir entonces se almacenará en una tienda. Y tendremos sólo una tienda en nuestra aplicación. Este vector tiene una tarea simple, empujar hacia nuestro estado. Por eso se llama Restaurar. Es posible que tengas un reductor múltiple, pero tendremos solo uno se almacena en nuestra aplicación. Entonces nuestra aplicación suscribirse a esta tienda. Siempre que esté fechado, actualice. Nuevo parque estatal a la tienda. La tienda lo enviará automáticamente a todo el componente y dirigido y la aplicación se actualizará. Ahora, volvamos al ejemplo anterior donde teníamos nuestro componente de app con otros componentes. Y ahora también tenemos una tienda. Ahora si queríamos cambiar algo, el componente de usuario de MainComponent, entonces vamos a despachar y acción. Entonces el estado lo introduce. Y luego nos camino es querido a todos los componentes en estos datos todo sobre lo que es reduct y por qué usamos Redux en React js. 3. ¿Qué es Redux?: Ahora vamos a entender cuál es el total create reader para liquidar también utilizar para administrar la aplicación si 13 una aplicación React de manera eficiente. Se proporciona algunas baterías incluidas conjunto de herramientas para un desarrollo eficiente. Esta baterías incluían término conjunto de herramientas, luce un poco elegante aquí, pero entenderás este término más adelante. Entonces root x ya era opción popular para la gestión estatal en nuestra aplicación React. Entonces, ¿por qué se requiere redact toolkit? Con el kit de herramientas redact, se requería tanto código para configurar si para optimizar ese nivel básico, y con ello demasiado código de calderas, que hace que nuestro código, vamos a limpiarlo eficiente. Además, hay que instalar demasiados paquetes para construir una aplicación escalable. Con redox tradicional, solíamos escribir acción y reductor en archivo separado. Y esto se vuelve más complejo cuando nuestra app y conseguir que abordes este reto, redactando se le ocurrió un kit de herramientas para lectores. Redact kit de herramientas es un mejor enfoque para escribir deshacerse de la lógica. Por lo general, el lector a lucir bien si periodo de desarrollo al incluir deshacerse de Courbet redact paquete de kit de herramientas que creen que se llenan para construir una aplicación de lector. kit de herramientas Redact permite a los desarrolladores escribir código Redux simple y limpio. Entonces todo se trata de redact toolkit y por qué usamos con React. Por lo que espero que entiendas este término elegante ahora que es batería incluido conjunto de herramientas. Entonces todo se trata de kit de herramientas. Ahora vamos a entender a este lector para lucir bien con un escenario básico. Supongamos que tenemos que construir una aplicación de contacto. Tenemos que manejarlo sigue siendo cinco. Te voy a mostrar el enfoque tradicional con reduct tradicional. Por lo que solemos leer reductor y accidente en un expediente separado. Como se puede ver que aquí tenemos x y dot js en los que tenemos un dos x diez para incrementar el valor del contador o disminuir el valor del contador e introducir un archivo dot js, tenemos una lógica para incrementar un contrarrestar valor o disminuir el valor contador del Theta. Redacto tradicional. Supongamos ahora veamos cómo nos acercamos con el lector para lucir bien. En herramienta redact, podríamos reescribir nuestro reductor y acción en el mismo archivo. Se puede ver que hemos escrito nuestra acción en reductor bajo el rebanado Crear a través del enfoque toolkit. Y puedes hacer que el código sea mucho más concepto mediante el uso de create. Tanto el reductor como yo podemos, se puede escribir así bajo el vivo viendo este código, definir una grilla con ella y la acción se vuelve más limpia. Se datos para mirar. Ya no es necesario utilizar la instrucción switch para gestionar la acción con su productor correspondiente. Y otra cosa que podría haber notado aquí, como ahora tenemos mutando directamente el valor en la función reductor en lugar de devolver un nuevo valor para actualizar. Esto sucedió en realidad porque la herramienta redacta podría usar la biblioteca que permite disturbios los mutantes, lógicamente, reduciendo. Todo esto se trata del kit de herramientas del lector con el escenario básico. 4. Comprende Redux-Toolkit API: Ahora hablemos de este timón a lucrativo. Incluye la celebración de esta API en el paquete del kit de herramientas de radar. Empecemos con la primera que está configurada para configurar nuestra herramienta creativa para proporcionar una opción de configuración simplificada y un buen defecto. Puede combinar automáticamente su reductor de diapositivas y puede suministrar cualquier middleware, lo que quieras con redact. Genial, bueno, riddance, gracias incluido por defecto. Y también habilitó al lector de usuarios delta f veces. Y no hay necesidad de escribir código para configurar la reducción en la herramienta dev con el paquete reduct Toolkit. Por lo que solo tienes que instalar las herramientas Data Dev en tu Chrome Roger, la tabla reduct funciona automáticamente con la tabla reduct. Buen paquete. Entonces todo se trata de la tienda configurada. Ahora hablemos de disco crear el reductor. Básicamente simplifica escribir nuestro redact la lógica de la función reductor porque usa la biblioteca IMRT internamente para actualizar su estado imitable escribiendo nuevo código derivado en su reductor y soporte directamente mapeo es función específica x anti reductor que actualizará el estado cuando la acción se dispersa. Suministre una tabla de búsqueda de tipo de acción para crear la función reductor en lugar de escribir sentencia de caso conmutador. Ahora, sigamos adelante y hablemos de la acción de crear. Crea tensión confunción de creador de acción escritanegligente función de creador de acción escrita para la etiqueta dada con bebida. Y también se puede utilizar en un lugar de tipo constante. Ahora, hablemos de esto. Crear, seleccionar, Crear seleccionar función Azure que acepte un estado inicial y un objeto de un nombre de función reductor. Entonces genera automáticamente una X y se crea y actúa y tipo que corresponden al reductor. Y así en general, esto crea diapositivas. Apa es el enfoque estándar para escribir nuestra lógica Redux. Ahora, sigamos adelante y hablemos de lo creativo. A su vez para crear, creo. Gracias. Se utiliza para realizar tarea asíncrona con el paquete reduct Toolkit. Esta función normalmente aceptó tres parámetros. El primer parámetro será x y tipo, que estará en un anillo. El segundo parámetro será la función que devolverá una promesa generada pulgar que dispersará ya sea pendiente, cumplida, o rechazada cinturón de tipo acción en esa promesa. Y el tercer parámetro será el objeto Option. Ahora, hablemos de este adaptador Create Entity, generemos un conjunto de reductor reutilizable y seleccionado para administrar los datos normalizados en la restauración. Todo esto es sobre el kit de herramientas reduct, un BA, y vamos a entender más sobre esta API como crear diapositiva, crear un think tank, configurar un recorrido en detalle. 1 quinto, comienza a construir nuestra aplicación en la siguiente sección. 5. Comprende createAsyncThunk: Ahora comprendamos este pensamiento creativo. Intuitivo. Siempre que tenemos que realizar una tarea, usamos middleware. middleware podría ser cualquier cosa. Podría ser una saga reductora o redacta para realizar tareas asíncronas y deducir middleware, ya sea paquete popular con el lector con kit de herramientas redact, reductor se incluye por defecto, permitiendo a los creadores la intención de realizar lógica asíncrona antes de enviar el resultado del proceso al reductor. Aquí tenemos nuestro código de muestra y te daré la breve descripción general de este código de muestra. Ahora, primero hablaré de esto crear diapositivas. Entonces ligeramente la función que contiene tu código y función reductor utilizada para modificar datos de una tienda. Entonces en general en tercera, crea API en vivo. Escribimos nuestra lógica del lector. Por lo que aquí se puede ver que tenemos una propiedad de nombre, por lo que esto no es más que sus dígitos rayo rápido. Tenemos que proporcionar una diapositiva ahora dentro esto crea esclavos. Entonces tenemos que proporcionar estado inicial. Aquí, definimos nuestro estado inicial para nuestra aplicación. Por lo que aquí se puede ver que tenemos inicialmente entidades similares al estado y cargando false. Ahora tenemos aquí un objeto reductor. Dentro de este objeto. Manejamos solicitudes síncronas que pueden conducir a la tienda. Ahora, tenemos actividades en extra reducidas. Manejamos asíncrono, que es nuestro Min. Vale, entonces creo que Ronnie creó con la creación creo que diez pasos tres parámetros. El primer parámetro será la X y tipo de bebida, y el segundo parámetro será una función que devuelva una promesa y genere una lengua que despachen gasto pilar completo rechazado tipo de acción basado en esa promesa. Y el tercero será el objeto Option. manera individual con Italia, proporcionamos una configuración diferente, diferente a nuestra crear una API de think-tank. Pero el tercer parámetro, el agente de oxígeno aquí. Siempre que esta acción, buen despacho desde un componente dentro de nuestra aplicación. Así que crear cualquier cosa puede generar un ciclo de vida de tres promesas usando el mismo tipo de cadena que un prefijo. Por lo que aquí se puede ver que no genera un pendiente cumplido en, abatido. Y todo este ciclo de vida nosotros con disponible dentro de nuestro reductor extra. Entonces los tres prometen ciclo de vida que se genera al crear diez va a evaluar de hecho nuestro reductor. Entonces, en general, lo que suceda en llamada inicial crear un think tank despachará este tipo de acción , de acuerdo, y eso está pendiente. Y luego tendremos nuestra carga útil creada, cual se ejecutará para devolver ya sea un resultado o error. En caso de error, crea, creo que entonces enviaremos una acción con la redactada. Si nuestro conjunto de datos tiene éxito, entonces crear diez dispersará este tipo de acción que se cumple. Y los tres parámetros ciclo de vida, estaremos evaluando dentro de este extra reducir nuestro objeto donde realizamos nuestros cambios deseados a la tienda. Todo esto se trata de lo creativo. 6. Configuración de proyectos: De acuerdo, en este proyecto vamos a usar la API falsa de marcador de posición JSON para construir nuestra aplicación de crédito con la ayuda de reduct toolkit y crear cualquier cosa. Entonces vamos a usar esta API, como conseguir el post basado en el ID. Vamos a usar esta API con el fin de poner una sola entrada de blog. Y también vamos a usar esta falsa API. Hacer actualizar un solo puerto y basado en el ID y en negro, vamos a usar DCPA para eliminar un solo puerto basado en el ID. Entonces en general, vamos a utilizar para un PI con kit de herramientas reduct en este proyecto. Vamos a configurar nuestro proyecto primero. Estoy en este directorio y voy a abrir un símbolo del sistema. Voy a crear un proyecto React. Ya sea reaccionar. Apa. Puedes dar cualquier nombre, lo que quieras. Vamos a crear este proyecto. Por lo que tomará alrededor de dos a tres minutos instalar toda la dependencia de NO3. Y volveré con todos los procesos. Bien terminado, orientar nuestra configuración del proyecto ya terminada. Pero primero vamos a entrar en este directorio que es correcto. Kit de herramientas Apa. Entonces antes de hacer npm start, quería instalar algunos paquetes para este proyecto. Entonces voy a instalar paquetes así. Entonces vamos a utilizar y diseñar para construir nuestro componente. Entonces necesitamos instalar un kit de herramientas reductivas. Último kit de herramientas. Y también necesitamos router React. Sólo tres paquetes. ¿ Se requiere para este proyecto? Así que instalemos todos estos paquetes. En tanto, abriré este proyecto en código de Visual Studio. Entonces chicos, parece que están todos los paquetes instalados y ya he abierto este proyecto en mi código de Visual Studio. Así que vamos a entrar en el código VS. Como se puede ver que este proyecto está abierto en mi Código VS. Y aquí tenemos tobogán empacado. Aquí tenemos un paquete como y rediseñar la herramienta redact, kirtan, React router down, Guys, fin de utilizar y componente bajo demanda en nuestro proyecto React. En primer lugar, necesitamos traer la hormiga y diseñar el archivo CSS para poder utilizar el componente de diseño de Android en este reactor. Así que sólo voy a traer los antidepresivos, archivo CSS. Un archivo CSS que necesitamos traer de nuestros anticuerpos y luego solo podremos utilizar el componente antidepresivo. 7. Estructuración de nuestra aplicación: Ahora vamos a hacer estructurar nuestro proyecto. Sólo voy a crear algunas carpetas aquí, como vamos a haber desplegado como un usuario publicar una carpeta poco heterodox. En primer lugar, digamos digerido alguna ruta. Voy a tener y ese es el archivo dot js. Crear archivo post dot js. Vamos a tener un archivo más cargando guardia dot js archivo. Con el fin de mostrar el cargador esquelético. Hemos creado este archivo. Ahora, generemos un fragmento. Primero. este crear post este archivo index.js. Vamos a encajar en la pose. Podemos actualizar al poeta y podemos eliminar el post. Todas estas cosas que vamos a hacer en este archivo index.js. Generarlo en un poco. Vamos a dar aquí sólo habitan archivo JS. Vamos a quitar este logotipo que no vamos a usar. Vamos a quitar toda esta parte. Vamos a traer desde React router switch rutas y rutas. Desde el router React hacia abajo. Vamos a traer rutas. Necesitamos router del navegador de ruta. Básicamente vamos a registrar esto a la ruta. Eso es crear un archivo index dot js, ¿de acuerdo? Este no será el archivo index.js. Demos como casa sólo ingerir aquí mismo, rutas. Aquí estamos utilizando React Rotterdam vergence six. Se puede ver eso. Entonces por eso estoy usando rutas aquí no tanto. Espero que estén al tanto de esos cambios con respecto a la última versión de React router aquí abajo exactamente tampoco se requiere. Por lo que sólo podemos mantener el estado del camino del componente. Vamos a usar elemento por primera vez, vamos a rechazarlo la hora de ruta a domicilio. La siguiente ruta. Vamos a tener como crear, crear. Ambos. Cualquiera que sea el poema que vas a crear no va a guardar en servidor adyacente porque el etilo es un servidor fijo. Por lo que aquí sólo estamos imitando el, todas las solicitudes como get, put, post y delete. No fuiste capaz de guardar ningún dato. En dB. Hemos rechazado platillo para enrutar y dejar que también nos guste el router del navegador también. Vamos a sirope todo este router del navegador de la aplicación. Vamos a quitar este. Primero hagamos inicio on-premise. Empecemos. Ahora esperemos a que la aplicación se cargue en el navegador. Entonces chicos, la replicación se carga en el navegador. Visitemos esta ruta. Bush también, esté funcionando o no. Esto también es registro. Hemos registrado con éxito nuestras dos rutas. 8. Trabajar en forma: Ahora voy a empezar con el buscar el Porsche basado en el ID cinco veces, voy a crear un campo de entrada y el botón, dos botones. Voy a empezar a trabajar desde este expediente. Pero tenemos que hacer ahora para traer algún componente de nuestro diseño. Vamos a traer esos componentes primero. El componente que vamos a traer botón, una tarjeta, espacio de entrada. Reaccionar cuando TI para traer datos de los usuarios y usar efecto. Ya que estamos obligados a terminar el ID del puerto. Por lo que necesitamos definir un estado con ID. Id. Id. Déjanos darte una como acabas de volver. Tenemos que definir una clase, contenedor de ancho. Y después de eso, vamos a tener un rumbo. Entonces básicamente estamos realizando el estilo de encabezado de script phage post , estilo en línea. Ahora, después de este rubro, vamos a tener un campo de entrada con marcador de posición, como ID de usuario. Con servidor JSON. Básicamente vamos a pasar cualquier identificación aleatoria y vamos a conseguir un post como título y tipo de cuerpo será el número en cambio que vamos a dar. Podemos simplemente hacer como set. Tendrá en el evento dot target dot valor de punto. Ahora tenemos que pasar el valor también. Por lo que tenemos ID. Podemos dar algún alicatado hacia este campo de entrada, ancho, perdón, 300 pixel. Ahora podemos tener un par de respiraciones aquí. Mantengamos respiraciones. Ahora vamos a tener un espacio, un componente espacial que vamos a utilizar. Porque, porque vamos a combinar dos botones, vamos a mantener los lados. Será pequeño. Demos un estilo de trazador de líneas. Sólo voy a dar margen general. Agrega esto. Vamos a tener nuestro botón, nuestro botón Diseño. Este botón será primario. Podemos dar el botón Lamelech, que entonces, una vez que el usuario dé el ID en el campo de entrada, podrá llenar ese post. Ahora después de eso, lo que tenemos que hacer, vamos a tener un botón más. Este botón básicamente responsable de crear un usuario. Este botón básicamente te navega hasta la creación para eso hemos creado aquí. Tenemos dos botones y vamos a tener un método onclick. Podemos darte un pinzón, usar sus postes. Vamos a definir este enorme puerto AT. De lo contrario obtendremos error. Hemos definido esta función. Esta función vamos a despachar, ¿de acuerdo? Y acción. Hemos definido esta función en la que nosotros, en la que vamos a despachar y acciones. Así que primero vayamos al navegador. Tenemos este campo de entrada, y tenemos que habilitar también la funcionalidad de navegación a este botón. Entonces, lo que podemos hacer desde el reactor hacia abajo, podemos llevar el uso y navegar. Por lo que tenemos que llevar a EU navegue. Ahora tenemos que guardar la referencia fuera. Utilizas navegar hacia y navegar variable. Navegar. Lo que podemos hacer aquí. Al hacer clic. Simplemente podemos navegar para crear publicaciones. Veamos detalles que por fuera nos hemos registrado todavía. Sí, esta es la misma ruta que hemos mencionado aquí. Entrémonos en el navegador. Refrescar. Haga clic en Crear futuros posts. Por lo que ahora somos capaces de navegar hacia crear post. Vamos a escribir aquí algo. Aceptará sólo el número. También podemos teclear ese. Ahora, lo siguiente vamos a configurar el kit de herramientas redact en nuestro proyecto. 9. Configuración y escritura de GET: la acción con createAsyncThunk: Aquí ya hemos creado la carpeta. Aquí tenemos que crear una carpeta más como características. Ya que estamos tratando con el poeta ahora, te vamos a dar vida como ambas diapositivas, no en la raíz de la carpeta reduct. Vamos a tener nuestro archivo restore dot js. Asegúrate de que no debería estar en la redacta del router. Entonces creo que se ha creado en su lugar el futuro. Así que vamos a eliminar éste y asegurarnos de que el archivo debe estar dentro este reduct para que sea el archivo de punto js de la tienda. Almacenar archivo dot js. Ahora tenemos en nuestra carpeta, primero vamos a escribir una reacción redox con kit de herramientas reduct para llenar el post basado en el ID usando crear un think tank. En posts rebanada con Italia diapositiva sin nada más que una colección de redujo esa lógica. En diapositivas con Italia, actualizamos el estado de nuestro componente con la ayuda de productor. Por lo que necesitamos traer del kit de herramientas, crear sector y crear Asíncrono, crear sector, crear cualquier cosa. Ahora después de eso, lo que tenemos ver con crear un think tank, vamos a hacer una solicitud de API. Entonces como ya sabéis leer un Tango está incluido por defecto en redact toolkit. Alinear crear un think-tank para realizar un retardado con crear un think tank, vamos a hacer una solicitud de API. Entonces en general, crear un tanque de reflexión se utiliza para la lógica asíncrona antes de enviar el resultado del proceso al reductor. Entonces vamos a crear nuestra primera acción con la creación de costos de exportación. Post. Después de esto, crea un centro de reflexión. En el primer parámetro vamos a pasar nuestro tipo de acción. Puedes pasar de esta manera, publicar y GET post. El segundo parámetro es la función callback, que es responsable de hacer que se requiera la API. Y el tercero es opcional. Será objeto Container Option. Entonces aquí vamos a escribir nuestra lógica asíncrona. Vamos a recibir una identificación de nuestros componentes para que podamos distraer la idea así. Después de esto, podemos hacer una devolución y vamos a usar el pez para hacer una solicitud API. Primero vamos a usar esta API. Vamos a conseguir el puerto basado en el ID. Sólo podemos copiar éste. Podemos encajarlo aquí. Vamos a usar back tick porque vamos a conseguir la fecha en el ID. Aquí tenemos dos fiestas ID. Entonces vamos a dar una respuesta. Esa respuesta punto JSON. Ahora, crea un grupo de reflexión, básicamente lo que hace. Entonces cada vez que despachemos esta acción que es concreta verter de nuestro componente. Esto crea un grupo de reflexión, ciclo de vida de la promesa regenerativa. El ciclo de vida de la promesa como pendiente, cumplido y rechazado. Y estaremos evaluando estas tres promesas ciclo de vida en después del reductor, donde podremos hacer nuestros cambios deseados a lo distal. Primero, vamos a crear una rebanada. Deporte. Costo. Se llama a Slice para crear diapositivas. Vamos a definir el nombre de la rebanada. Así que vamos a dar su puesto. Ok. Vamos a tener estado inicial de nuestra aplicación. Por lo que voy a definir el post con área de empatía. Entonces vamos a tener cargando false. Entonces el error será nulo. ¿De acuerdo? Por ahora, este tanto estado inicial se requiere para nuestra aplicación. Ahora, vamos a tener nuestro reductor extra, que vamos a manejar el ciclo de vida de las tres promesas que se genera por nuestro crear un reductor de tanque de reflexión. Y dentro de esto, vamos a tener un buen post dot pendiente pendiente entonces cumplido y eso ha actuado. Entonces vamos a tener acción estatal. Aquí. Vamos a tener estado la carga de puntos será cierto en caso de flexión, carga será verdadera. Ahora, de igual manera, vamos a haber cumplido el ciclo de vida. Entonces GET post dot cumplido. Acción estatal. Aquí, podemos simplemente hacer como establecer la ley estatal subiendo a false. Ahora tenemos los datos y tenemos que hacer el estado falso de carga. Ok, Ahora state.org. Por lo que ahora tenemos que actualizar el estado inicial de ambos tangibles para que simplemente podamos escribir como acción dot payload. Después de esto vamos a tener que se actúe conseguir publicado. Elegido. Acción estatal. En este caso también, carga será el pulso. Después de esto, ¿qué tenemos un error total de puntos de estado? Aquí, podemos dar como acción dot payload. Aquí. ¿ Tenemos que usar punto y coma? coma. No olvides usar punto y coma. Vamos a formatear este. Ahora, tenemos que ser realmente exportar éste, exportar por defecto, post diapositivas reductor de puntos. Por lo que hemos escrito nuestra primera acción. Ahora es el momento de escribir la lógica en nuestra tienda dot js archivo con el kit de herramientas del lector. Configuración de victorioso. Muy sencillo. Por lo que necesitamos traer, configurar una tienda desde nuestro kit de herramientas redact. De redact, totalmente bueno para traer configure if torr. Ahora, tenemos que traer nuestros reductores, reductor. Nuestra carpeta futura. Eso es cuatro diapositivas. Exportar, por defecto, configuró una tienda. Aquí vamos a tener app reductor. Vamos a proporcionar la clave para este reductor de retratos. Con la ayuda de esta clave de app, vamos a aceptar el estado que hemos definido en nuestro segmento para poder acceder a este error en nuestro componente. Por eso he definido esta clave de aplicación. Estamos terminados con la configuración de la tienda. Ahora vamos al archivo index.js y cinco minutos para traer un paquete como índice reaccionado porque, porque vamos a necesitar provisto que pueda arrastrar esta puerta a nuestro React aplicación, alto React redux. Y olvidé instalar este paquete inicialmente. Vamos a instalar paquetes es alto largo. Vamos a cerrar esta terminal. En primer lugar, pin para anclarlo para traer proveedor de nuestros productos de reactor que nuestro componente pueda después del estado que hemos definido en nuestro restaurado. Y tenemos que traer su recorrido desde nuestra carpeta redox. Ok, Ahora vamos a envolver nuestro componente de aplicación con proveedor. Vamos a cortar éste, pegarlo aquí. Podemos usar Datastore y podemos almacenar. También puedes comprobar este si has integrado correctamente el kit de herramientas redact con la aplicación React o no. Puedes ir al navegador y solo puedes abrir esta herramienta. Voy a anexar a mi botón. Y aquí se puede ver el estado. Entonces eso significa que hemos configurado con éxito nuestro kit de herramientas en un proyecto React. 10. Dispatch GET createAsyncThunk: Ahora tenemos que despachar básicamente esta acción que hemos creado en nuestro post diapositivas desde nuestro componente. De acuerdo, vamos al archivo index.js. Y a partir de eso, necesitamos traer enorme despacho y seleccionaste que llegaste a respetar se utiliza para despachar una acción. Usted seleccionado se utiliza para seleccionar el estado de nuestra tienda. En primer lugar, guardemos la referencia del uso de despacho, variable de despacho. Entonces sólo podremos despachar una acción. Aquí. Primero vamos a comprobar si no tienes ninguna identificación. Hemos comprado algún método de error simple como alerta de puntos de ventana. Simplemente podemos darme como por favor proporcione una parte de identificación que vamos a dispersar y acción que hemos creado en nuestro post. Publicar y código VS importan automáticamente esa acción. Y podemos pasar aquí, me gustó esto porque se puede ver esa id que estamos recibiendo aquí en forma de objeto. Para que podamos pasar el ID de esta manera. Después de eso, sólo podemos hacer una cosa más como set ID para entretener. En primer lugar, vamos a comprobar si nos están metiendo o no en base a una identificación aleatoria. Permítanme refrescar este 1 primero. Y vamos a dar una identificación. Demos clic en Fetch adelante. Ahora, veamos la profundidad a bajar. Se puede ver que esa promesa se cumplió aquí. ¿ De acuerdo? Aquí tenemos 1 cuarto en matriz de objeto. Ahora ya puedes ver que tenemos este post, ¿de acuerdo? Ahora tenemos que mostrar básicamente este puerto en nuestra UI. Entonces hagamos eso. Por lo que ahora tenemos que extraer básicamente el estado de nuestra tienda utilizando los EE.UU. seleccionados. Puedes usar tu selector de uso. Podemos tener su más ligero hizo. Podemos extender aplicación punto estatal porque nuestro reductor se restaura con la clave de la aplicación. Entonces con la ayuda de app key, podemos acceder al estado que tenemos en nuestro vector. Hemos definido un estado como la carga. ¿ De acuerdo? Publicar esto estados que hemos definido en nuestro reductor en diapositivas. En primer lugar, vamos a la consola log el postdoc, ya sea que estemos recibiendo la publicación o no, post de registro de consola. Vamos al navegador. Demos cualquier ID de usuario aleatorio. Ahora vamos a abrir la consola. Se puede ver que tenemos un área. Siempre estará conteniendo una sola matriz de objeto porque estamos buscando el post basado en el ID. Ahora vamos a mostrar este detalle post en un componente de tarjeta. Entonces primero, voy a poner algún código aquí en curva de carga. De acuerdo, entonces básicamente estamos mostrando cargadora de caracteres. El cargamento es cierto. Una vez cargándolo caiga, entonces vamos a mostrar esos datos en un componente de tarjeta. Y voy a pagar código aquí por cargadora esquelética. Y no te preocupes, adjuntaré este código en esta conferencia. Puedes descubrir fácilmente ese código para esta curva flotante. Ahora lo que tenemos que hacer, tenemos el estado de carga. Después de esto es página voy a dar un par de breves. Entonces podemos tener nuestro estado de carga. Y si la carga es verdadera, entonces en ese caso voy a mostrar la tarjeta cargadora de caracteres. CVS ponen automáticamente importar ese componente. Podemos proporcionar el conteo a uno. Y en esta parte vamos a mostrar el detalle del puerto en un componente de tarjeta. Aquí, voy a usar fragmento. Y vamos a usar un nombre de clase que sea, y nombre de clase de diseño, tarjeta, envoltura de guiones de borde. Y después de esto, lo que tenemos que hacer, voy a usar tarjeta aquí. Coche, escriba un título. Podemos ordenar un título así. Siempre estará conteniendo una sola matriz de objetos. Por lo que podemos mostrar así para el título de punto. De esta manera podemos mostrar. Podemos enseñar mejor ID de usuario como ID de usuario real. ID de usuario y post post dot ID. Vale, primero revisemos este si somos capaces de ver algo o no. Vamos al navegador. Y ahora se puede ver que somos capaces de ver ese id Reenmarque éste. Estamos recibiendo algún error. No se puede leer propiedad de título. Vale, no hay problema. Entonces para solucionar este problema, lo que podemos hacer, solo podemos comprobar aquí como longitud de punto. Longitud del punto. Esto es mayor que 0. Entonces sólo vamos a mostrar este componente de tarjeta. Vamos a cortar este. Aquí. Entrémonos en el navegador, actualice éste. Ahora, demos un ID de usuario aleatorio. Ahora se puede ver que tenemos nuestro post aquí. Este es el título y este es el ID. Ahora tenemos que mostrar el cuerpo también. Por lo que se puede ver que sí tiene un título que ya estamos mostrando aquí y tenemos que mostrar el cuerpo también y este componente de tarjeta. Entonces qué podemos hacer, para que puedas tener aquí una etiqueta span. Etiqueta Span aquí. Podemos presumir de 0 dot body porque estamos enfrentando el solo post basado en la idea. Por lo que siempre será tener una sola área fuera del objeto. Espero que estén obteniendo este punto. Ahora vamos al navegador. Ahora se puede ver que también somos capaces de mostrar el cuerpo. Para este post. Somos capaces de mostrar éste. Somos capaces de mostrar el título y el cuerpo. Y volvamos a golpear basándonos en alguna identificación alguna. También tenemos cargador recogido. 11. Añadir botones: Ahora tenemos que añadir dos botones que tú haces. Toca, Eliminar. Agreguemos esos botones también. Después de esta tarjeta, vamos a ese botón. Entonces voy a usar tu espacio. Podemos proporcionar algunos apoyos como medio. Voy a tener algún estilo en línea. Margen top, te voy a dar un margen, top 35, margen izquierdo. Eso es cinco. Y voy a dar flotador, flotar , flotar bien. Ahora. Entre el espacio, vamos a tener nuestro botón. Botón. Nuevamente, vamos a utilizar y diseñar componente. Podemos tener su alicatado de alineación. Tenemos que especificar puntero. Vamos a tener tipo, tipo. Te voy a dar una primaria. Vamos a tener Peligro. Tendremos el método OnClick también hasta ahora Juzgar, definir el botón de valor de salida para que tenga un delete. Lo mismo que sólo voy a copiar para una cita también. Será sólo una cita solamente. Podemos quitar esta parte de peligro. Veamos si somos capaces de ver nuestros botones o no. Se puede ver que tenemos nuestros botones. Volvamos a publicar de nuevo la página. Tenemos nuestro botón. Está funcionando. 12. DELETE con createAsyncThunk: El siguiente operativo vamos a realizar la operación de eliminación. Por lo que podemos eliminar este puerto que hemos pagado con base en el ID. Entonces primero tenemos que escribir nuestra acción en nuestro post slash dot js archivo. Hagamos eso 1 primero. En puertos como el archivo dot js, voy a tener una acción más. Eliminemos publicaciones. Sólo voy a copiar este. Sólo voy a pegarlo aquí. Y yo sólo voy a cambiar éste. Por lo que será borrar posts y esto será x y titulado con el delete post. Nuevamente, vamos a eliminar el post basado en el ID. Aquí vamos a derrotar el id de nuestro componente y la URL será aditiva. Adicionalmente, tenemos que proporcionar método aquí porque estamos usando fetch aquí. Tenemos que proporcionar un método aquí. Al igual que eliminar. Hasta ahora obteniendo los datos del servidor JSON o de cualquier API, no tienes que proporcionar método. Pero en caso de otras solicitudes como tanto eliminar o actualizar, hay que proporcionar el método aquí. Por lo que aquí estamos brindando el método, eliminar. Esto será cosa aditiva. Ahora estamos haciendo con solicitudes de API. Entonces esto crea un think tank, generar tres ciclo de vida que vamos a disolver en nuestro reductor. De nuevo, ¿qué tenemos que hacer? Por lo que sólo voy a copiar este tres ciclo de vida que está gastando plena construcción y dirigida. Y voy a pegarlo por aquí y me aseguraré de cambiar ésta de la guía para eliminar publicaciones. Y podemos quitar éste. Será jet action dot payload. Entonces utilicemos esta acción que hemos creado aquí en nuestros componentes. Entonces vamos al archivo index.js. En onclick. dispersar esa acción para que pueda eliminar el registro. Aquí. Voy a mostrar esa acción. Por lo que despachar y eliminar mensajes. Entonces el código VS importa automáticamente esa acción para mí. Y podemos dispersar eso de esta manera. Por lo que vamos a mostrar el mismo ID que estamos usando para llenar el ID. ¿De acuerdo? Antes. Podemos tener ID aquí, como este índice de array dot ID, vamos a ver si somos capaces de eliminar este puerto o no. Para éste, vamos a crear un post basado en los cinco ID. Tenemos este post. Ahora vamos a hacer click en Eliminar. Ahora se puede ver que podemos eliminar con éxito el puerto también basado en el mismo átomo que hemos utilizado para obtener la operación de eliminación también se hace con nuestro kit de herramientas reduct en este aplicación. 13. POST acción con createAsyncThunk: Ahora la siguiente operación vamos a realizar el pool create user. Una vez que hagas click en esto, crea un usuario para ti, navegaremos hacia el Create Board. Y sea cual sea el puerto que vayas a crear no va a ahorrar en dB porque estamos utilizando la API falsa de marcador de posición JSON. Por lo que no mantiene ningún tipo de base de datos detrás de escena. Por lo que no podrás guardar este cerdo en dB. Pero vamos a imitar esta solicitud de puerto con la ayuda de esta API. ¿ De acuerdo? Vamos a crear esa acción en nuestro primer archivo de slide dot js. Lo que voy a hacer, voy a copiar éste. Voy a pegarlo aquí. Crea un puesto de mejor calificación. Ahora tenemos que hacer algunos cambios aquí. Esta vez estamos creando el poro para que no acepte ningún tipo de identificación. Podemos quitar esta parte. Después de esto. ¿ Qué tenemos que hacer? ¿ Método? Vamos a proporcionar ambos métodos todavía porque estamos creando un nuevo puerto. Y después de eso tenemos que proporcionar el encabezado también. De lo contrario no funcionará. Por lo que pisé encabezados, tenemos que proporcionar un robo. Podemos dar su aplicación JSON. Entonces estamos predefinidos el tipo de contenido, tipo de contenido aplicación. Json. Vamos a tener cuerpo, JSON, estringificar. Vamos a crear el poro con título y título corporal que podemos dar aquí. Vamos a recibir unos valores. Vamos a recibir unos valores de nuestros componentes. Por lo que podemos cavar tratado este valor de esta manera. Podemos tener como Valores, título de punto. Podemos tener como cuerpo Valores dot body. Lo necesario serán los aditivos. Hemos creado este puerto y no te preocupes, te explicaré esta parte. La parte de los valores. Aquí, el valor no es más que contendrá un objeto con un título e información corporal. Y eso es recibir valores de nuestro componente y estamos aportando título y cuerpo. Pero vamos a tener que llenar nuestro crear para que sea título y cuerpo. Digamos que esto todos los tres prometen la vida en la que es generada por nuestro creador, creo lengua. Así que de nuevo, sólo voy a copiar pegar el ciclo de vida S3. Podemos pintarlo aquí. Y no se olvide de cambiar éste de libro de calificaciones para crear ambos. Vamos a copiar este, vamos a Pe de dos niveles. Y el resto de la cosa será aditiva. Estamos terminados con la parte real. 14. Trabajar en crea formulario de publicación: Entonces trabajemos en esto. Crea ambos desde nuestro anti diseño. Tenemos que traer algún componente. El componente que vamos a necesitar aquí, entrada, botón, tarjeta, espacio. También vamos a necesitarte seleccionado y te salvarás de nuestro React. Tan enorme selector. Cuando TI para traer y usar despacho de reaccionar, necesitamos estado enorme también. Voy a definir un estado con valores. El mismo valor que vamos a pasar por nuestra acción para que pueda recibir aquí en nuestro archivo slide dot js. Trabajemos en este Crear puerto. Enorme estado. Y vamos a definir nuestro estado inicial con un objeto. Vamos a tener título y cuerpo. Y después de eso vamos a tener un estado hipotecario. Entonces esto está emparejado con feo. Estamos utilizando para describir dos discretos creados. Una vez que el usuario crea un pobre, entonces en la misma página vamos a mostrar que creó un estado enorme e inicialmente será el falso. Después de eso, guardemos la referencia de nosotros. Es variable de despacho paginate. Por lo general despachar. En primer lugar vamos a trabajar en el componente de forma off. Entonces vamos a crear una forma. Vamos a quitar este. Vamos a tener un formulario. Quitemos parte de acción. Y aquí vamos a tener en el método Submit, que vamos a definir manejar submit. El formulario que vamos a tener. Después de esto. Vamos a definir nuestro campo de entrada. Te dio un marcador de posición. Título. Tipo, texto sólo cambia. Te vamos a dar. Te puedo dar como valores establecidos. Puedo extender los valores y tenemos que sólo sólo, y podemos establecer el título al valor de punto objetivo. Ahora, vamos a tener valores. Los valores, valores. Entonces a partir de valores podemos tomar textura como título y cuerpo. En el valor podemos pasar el título. Demos un poco de estilo en línea también a este campo de entrada. Entonces voy a dar 400 pixel. Después de esto, voy a tener punto de lóbulo superior. Entonces vamos a tener área de texto. Así entrada punto área de texto. Después de esto. Y al contrario, voy a copiar esta cosa. Voy a pegarlo aquí. Aquí va a ser cuerpo. Se adjuntará y esta voluntad, y se convertirá en cuerpo. El valor corporal será ancho del cuerpo será aditivo. O tenemos que dar porque es un área de texto, por lo que será grande. Ahora voy a tener un par de descanso de nuevo. En este espacio. Voy a crear un botón de un solo aquí. Estilo. Vamos a darle un estilo. Margen. Diez. Vamos a agregar botón. Voy a usar el componente de botón NTDs N, onclick. Vamos a tener el método OnClick. El valor del botón será el gol de vuelta. Definiremos el método onclick. Volvamos atrás. Básicamente navegarás de nuevo a la página de inicio solamente. Va a tener en el botón Enviar. Enviar tipos. Podemos dar cumbre primaria tipo HTML. Entrémonos en el navegador. Tenemos algún error, por lo que necesitamos aplazarlo, manejar enviar. Así que por ahora solo vamos a crear una función vacía. Recibirá un evento. Entrémonos en el navegador. Entonces tenemos esta dos-entrada. Uno es un error de entrada normal y otra área de texto que tenemos volver atrás y enviar botón y si haces clic en volver atrás, nunca llegarás hacia la página de inicio. De React router dom. Traer US navega. Vamos a usar navegar aquí. Usar navegar. Y lo que tenemos que hacer. Estamos grabando la referencia de nosotros navegar y navegar variable y un onclick. Podemos navegar. Nosotros te podemos dar navegar. Queríamos navegar hacia la página de inicio. Vamos a probar primero este. Éste, Demos clic en GoBear. Pero ahora somos capaces de navegar hacia la página de inicio. 15. DesDesde punto POST createAsyncThunk: Por lo que ahora tenemos que trabajar básicamente en la creación de posts. Entonces vamos a mostrar una acción que hemos creado en nuestros posts como el archivo dot js, manejar submit, vamos a desesperar esa acción. Ahora, lo que tenemos que hacer manejar algún material recibiendo un evento hasta el momento, tenemos que hacer un punto prevenir predeterminado para evitar el comportamiento predeterminado del navegador. Y después de eso, podemos mostrar eso una acción. La acción que tenemos como crear código post soviético, importar automáticamente que envié por mí. Y sólo podemos pasar los valores enteros. Este valor, particularmente estamos estructurando diff aquí. Se puede ver que en nuestra acción create posts, al crear tanto impuestos como estamos transfiriendo el valor que estamos enviando a través de nuestra acción. Después de esto, quería inputar el campo de entrada. Lo que podemos hacer aquí, título. Por lo que el título será en Masilla, será el ímpetu. Tenemos que hacer también set. Entonces ambas verdaderas. En el momento en que envías este formulario, quise mostrar el puerto en la misma página debajo este componente de formulario que quería crear post. De acuerdo, entonces por eso tengo un estado separado como set. Y se hará verdad. Podemos revisar éste, si esto crea carteles trabajando o no. Por lo que podemos verificar con la ayuda de reduct Deadpool. Primero, vamos al navegador y vamos a darte una prueba en vivo. Y voy a pegar algún texto aquí dentro de esta área de texto. He representado mi texto aquí. Se puede ver que Demos click en Enviar. Abramos la profundidad de reducción Contada. Se puede ver eso. Se puede ver que nuestra promesa se cumplió aquí. Y podemos ver que nos han metido. Se puede ver ahí tenemos nuestro cuerpo del título. También verá un ID de usuario generar éticamente un ID de usuario aleatorio. Se puede ver que tenemos uno, agregando uno, no el ID aleatorio, que es creado por nuestro servidor JSON. Ahora lo que tenemos que hacer así vamos a mostrar el retrato creado debajo de este componente de formulario. Una vez que el usuario envió el formulario. Vamos al código VS. Voy a usar un selector enorme aquí. Tú seleccionaste Voy a usar para básicamente rastrear el valor estatal desde nuestro estado de tienda. ¿ De acuerdo? Podemos tener un valor como publicar y cargar. Después de esto. Tenemos que hacer después de esto, vamos a tener una función la cual se encarga coser bloques creados o así post blog. Dentro de esto vamos a tener retorno. Vamos a usar fragmento aquí también. Voy a usar la carga. Cargando si es cierto, entonces voy a mostrar o cargar componente de tarjeta que se encarga de coser ese cargador de caracteres. Y voy a dar un conteo aquí, uno más, voy a bloquear ambos Tokio. Nuevamente. Lo que voy a hacer, así que voy en archivo index.js. Y sólo voy a copiar esta cosa. Vamos a venir aquí. Y vamos a pegarlo aquí. Tal vez tengamos que cambiar. Vamos a darte primero un div de cierre. Esta será la prueba, el aditivo Silvia. Esto será editado. Por lo que todo será editado. Porque una vez que creas esto para el estado posts contendrá una sola matriz de objeto. Podemos ordenar este puerto creado debajo de este componente de formulario. Voy a tener un par de descanso otra vez. Y podemos tener ambos. Cierto. Entonces voy a ese post para publicar blog. Vamos a salvar este. Vamos al navegador. Refresca éste. Vamos a probar el blog. Y yo voy a escoger el contenido aquí. He representado el contenido de cuerpo aquí. Demos clic en Enviar. Se puede ver que somos capaces de crear un puerto con éxito y estamos mostrando debajo de nuestro componente de formulario. Hemos realizado esta operación de creación con la ayuda del kit de herramientas del lector en nuestra aplicación React. El siguiente operativo vamos a realizar la operación de actualización. 16. Ponga acción con createAsyncThunk: Entonces crear operación se realiza con toolkit. Ahora es el momento de realizar la operación de actualización con la ayuda del kit de herramientas de radar. Entonces primero vamos a crear una acción que será la encargada de actualizar los ambos basados en el ID en los puertos como archivo dot js, vamos a crear una acción. Entonces, lo que voy a hacer, sólo voy a copiar toda la acción. Sólo voy a pegarlo por aquí. Esto se convertirá en actualización. Ambos se convertirán en tablero de actualización. Ahora vamos a actualizar el puerto basado en el ID de nuestro componente. Vamos a recibir un par de cosas como ID. Vamos a actualizar el cuerpo. También vamos a pasar el título, ¿de acuerdo? Pero vamos a actualizar sólo la parte del cuerpo del único post de blog. Aquí tenemos que especificar el ID porque vamos a actualizar el puerto basado en el id Y el método se convertirá en put. El encabezado será una estancia como está en el cuerpo. Tenemos que inyectarla, quitarla. Simplemente podemos pasar aditivos como título y director corporal, la cosa será aditiva. Ahora. Ahora esto crea un centro de reflexión, generará un ciclo de vida de tres promesas. Así que manejemos de nuevo el ciclo de vida de las tres promesas en nuestro reductor. Así que sólo voy a copiar las tres vida naturalmente por aquí. Y sólo voy a pintarlo. Y asegúrate de actualizar del libro de calificaciones a la actualización. Será tablero de actualización. Esto también será actualización ambos conocidos por cambiar todo esto aquí. Y tenemos que definir alguna finca, algún estado inicial adicional que tenemos que definir. Vamos a actualizar sólo la parte del cuerpo del cuerpo será inicialmente empatía y habrá un modo de edición. Por lo que en un principio será lo falso. También vamos a tener una acción extra. Entonces voy a definir esa acción en reductor. Por lo que este accidente se encargó de habilitar el modo de edición. Vamos a tener como set. Esto tendrá estado y acción. Aquí. Vamos a tener un estado punteado es igual a la carga útil real. Vamos a recibir esta cosa de nuestro componente. Tenemos que hacer una actualización más como punto estatal, cuerpo, punto, carga útil y cuerpo. Vamos a recibir dos cosas como el modo de edición y parte del cuerpo del tablero de un solo bloque. Exportemos esta acción también. Lo que podemos hacer aquí, podemos tener como exportación const, presumir, rebanar, punto, acción. Y podemos dar aquí como set edit. Ok. Ahora volvamos a la parte de la interfaz de usuario. Volvamos aquí. Vamos a buscar un post aquí. Ahora tenemos un botón de edición por aquí. Y una vez que haces clic en esto, hiciste esta parte del cuerpo con Italia convertida en el área de texto. Y el valor del botón también obtendrá Cambiar. Valor de botón, bueno. Editar para guardar. 17. Llena de datos de publicación en forma: Entonces un archivo index.js. Lo que tenemos que hacer primero, vamos a recibir este nuevo estado que acabamos de definir en nuestros posts como objeto de archivo dot js, extrayendo los enumerados anteriormente selector de Estados Unidos. Y aquí lo que tenemos que hacer. Ahora, vamos a tener nuestro modo. Estamos en modo de edición. Entonces lo que tenemos que hacer, vamos a tener fragmento aquí. Una parte más. Sólo estamos mostrando esta parte del cuerpo que te fue que no está editando el post. Ahora toda la lógica que tenemos que definir en esta parte fragmento, editando el post. Entonces lo que voy a hacer, así que a partir de esto, vamos a tener OnClick. Vamos a despachar una acción. Despacho. Y vamos a desplazar a dicho idiota. ¿ De acuerdo? Una vez que el usuario haga clic en este botón de edición, el modo se volverá verdadero, tan cierto. Y tenemos que pasar el cuerpo también. Cuerpo valioso. Para que podamos conseguir el cuerpo de luz postes 0 dot body. Vamos a formatear este. Guardemos el expediente. Ahora aquí, lo que tenemos que hacer, por lo que será en soporte. Así que vamos a darte un soporte. Aquí. Vamos a tener área de texto, filas de área de texto para ir a tener valores. ¿ De acuerdo? Por lo que necesitamos definir el estado inicial. Tenemos que definir un estado para los valores de este cuerpo. Entonces aquí lo que podemos hacer, podemos tener un estado más como la etiqueta corporal. Porque estamos actualizando el cuerpo del único post de blog. No estamos debatiendo el conjunto de títulos. Será de lástima. Y aquí voy a correr un efecto enorme. Efecto de uso. Vamos a usar Effect run una vez que tengamos el valor en nuestro cuerpo. Estoy hablando de este cuerpo que hemos definido en nuestros posts ly dot js file. Tenemos el cuerpo. Entonces cuerpo. De esta manera podremos poblar el valor del cuerpo en un área de texto aquí, lo que vamos a tener cuerpo, vale. Vamos a tener onchange. Tendrá un conjunto de eventos, texto del cuerpo, punto, objetivo, punto, valor. Entonces vamos a tener dos botones. El nombre del botón será como guardar y cancelar. Por usuario tiene opción de guardar la publicación y también puede cancelar el proceso de actualización. Por lo que vamos a tener que botonar con siete cancelar. Voy a usar tu espacio. Agreguemos que vamos a tener modelo de talla. ¿ De acuerdo? Voy a tener algún margen de alicatado, margen superior cinco a la izquierda. Voy a dar margen izquierdo cinco. Entre este espacio, vamos a tener nuestros dos botones. Tipo de botón, primario. Vamos a tener una mesa, ¿de acuerdo? Se va a tener otro botón que será el cáncer. Si haces clic en la cancelación, básicamente saldrás del Modo Editar. Si hace clic en el botón Cancelar, será sólo el botón normal. En primer lugar, puedes comprobar éste si somos capaces de poblar el valor corporal del blog en un área de texto o no al hacer clic en el botón Editar. Vamos a refrescar este. Enfrentemos el post con ID tres. Demos clic en editar. Por lo que somos capaces de publicar el valor corporal de bloguear un área de texto. Esta cosa, no queremos eso. De acuerdo, vamos al Código VS. Lo que podemos hacer por aquí. Para que podamos revisar aquí como todo este espacio. Podemos consultar aquí como si te encuentras, si no estás en modo de edición. Entonces en ese caso, sólo queríamos este botón editar y eliminar. Vamos a cortar este. Vamos al navegador. Diferenciar. Vamos a llenar el puesto. Ahora tenemos estos dos botones. Y una vez que haces clic en el botón Editar, eso fue, ahora estás en modo de edición. Entonces ese caso no quiero que muestre esos dos botones. Una vez que el usuario haga clic en guardar o cancelar, entonces estos dos botones se mostrarán por aquí. 18. Dispatch de PUT createAsyncThunk acción para actualizar: Hasta el momento, vamos a tener el método OnClick. Aquí. Lo vamos a despachar a la acción. Con feo se utiliza para actualizar el puerto de bloque único con valor de cuerpo. ¿ De acuerdo? Entonces aquí vamos a despachar una acción que hemos creado en nuestro post slash dot js archivo. Por lo que tenemos que pasar como ID, post ID. También vamos a enviar el título, el mismo título que vamos a enviar porque no estamos editando el título. Estamos actualizando sólo el valor corporal del blog y el cuerpo. Vamos a enviar temperatura corporal. Este valor sólo estamos cambiando. Si hace clic en el título. Por lo que tenemos que detener básicamente el proceso de actualización. Entonces en general aquí saldrá del modo de edición. Por lo que en ese caso también, tenemos que despachar una acción. Vamos a tener el método OnClick aquí de nuevo. Vamos a despachar, despachar. En ese caso, será lo falso. Aquí también, tenemos que despachar una acción más. Despacho editar. Una vez que haga clic en la edición, queríamos básicamente salir del Modo Editar. Por lo que tenemos que despachar también el año a la fecha en GitHub actualizando el valor corporal de una sola entrada de blog. Aquí vamos a volver a trazar el edit false. ¿ De acuerdo? Y después de esto, tenemos que básicamente hacer este cuerpo para imitar. Aquí también, podemos pasar el cuerpo al infinito. Aquí estamos consiguiendo algunos. Entonces será coma. Así que guardemos este archivo. Y vamos al navegador. Refresca éste. Vamos a empezar desde cero. Enfrentemos el blog. Espere en el ID cinco. Ahora, hagamos click en Editar. Ahora estamos en modo de edición. Y si dio prueba, no podemos actualizar el valor. Entonces mecanografiar no está funcionando aquí. Déjame ver lo que está pasando. En el cambio. Lo que tenemos que hacer. Entonces algo va mal aquí, supongo. Entonces aquí tenemos que mostrar básicamente el cuerpo. Cuerpo. Entrémonos en el navegador y busquemos el tablero basado en la identificación de usuario cinco. Vamos a hacer clic en él, él. Ahora estamos en modo de edición. Ahora, vamos a actualizar este valor corporal de Blackboard. Vamos a darte un blog en vivo actualizado. Si hace clic en Guardar. Tenemos el valor corporal actualizado del blog aquí se puede ver que tenemos cuerpo como blog actualizado. Tenemos que realizar fielmente la operación de actualización también con el reduct a líquido y sea cual sea la actualización que estés haciendo aquí, no va a ahorrar en dB porque marcador de posición JSON no lo hace cualquier tipo de base de datos detrás del lugar de la escena. Si reformulas y enfrentas nuevo al poeta con el mismo ID como cuatro, obtendrás el viejo valor corporal de esta entrada de blog. 19. Aplicación de cócteles del proyecto 2: Bienvenido a esta sección. En esta sección en particular, vamos a construir nuestra aplicación con la ayuda de redact Toolkit utilizando create tasting. Esa es la aplicación de coctel, donde vamos a dejar que todo el cóctel haciendo API de terceros solicite usando crear cosa de degustación. Así que vamos a vender todos los cocteles en nuestra página principal. Como puedes ver que esta API de terceros devuelve alrededor de más de 20 cocteles. Se puede, se puede ver eso en la página principal. También puedes ver el cóctel individual para poder leer más información sobre ese cóctel en particular. Entonces, si haces clic en esto, hay botón de detalles. Navegarás hacia una sola página de cóctel donde podrás obtener más detalles sobre este es cóctel básico. Y si haces clic en Google, volverás a la página principal. Ahora también puedes configurarlo en un cóctel específico. Entonces te voy a dar una palabra clave como Adam. Se puede ver que con la palabra clave atom, está escrita para coctel. También hemos implementado esta funcionalidad de búsqueda en nuestra aplicación de coctelería solo con kit de herramientas redact. En general, esta aplicación la vamos a construir en esta sección, que el lector Toolkit utilizando crea un middleware de síntomas. Y antes de comenzar a construir esta aplicación, entenderemos poco sobre crear un middleware de think tank y que entenderemos en el siguiente video. Te veré en el siguiente video donde vamos a discutir sobre solo crear un middleware. Entonces comenzaremos a construir esta aplicación. 20. Aplicación de cócteles del proyecto 2: configuración: Ahora estoy en este directorio y voy a abrir un símbolo del sistema aquí. Así que vamos a abrir un símbolo del sistema. Y voy a crear un proyecto con el comando y px Create React app y el nombre del proyecto. El nombre del proyecto será kit de herramientas cocktail. Entonces voy a dar el nombre de este proyecto y voy a darle a Enter. Entonces creo que he usado el NPM. Entonces será n p x nada NPM. Entonces cambiemos este y vamos a darle a Enter. Y tardará alrededor de dos a 3 min en instalar toda la dependencia innecesaria. Y volveré una vez instalada toda la dependencia. Entonces parece que la configuración de nuestro proyecto ya está terminada. Entonces primero vamos a entrar en este directorio que es cóctel de kit de herramientas. Entonces vamos a entrar en este directorio. Y chicos, necesitamos instalar algunas dependencias. Antes de hacer npm start, instalemos esos paquetes. Los paquetes que vamos a trabajar como router React, dom. Necesitamos el router React para construir esta aplicación. React redux. Lo más importante es el kit de herramientas redox. ¿Bien? Redux, último kit de herramientas. ¿Pueden ustedes solo esto se requiere para construir esta aplicación con la ayuda del kit de herramientas redex Esperemos la instalación de este paquete y volveré una vez que se haya instalado todo el paquete. Chicos, son todos los paquetes que se instalaron. Ahora, voy a hacer y pagarme iniciar este proyecto que ya he abierto en el código de Visual Studio. Así que volvamos al Visual Studio Code. Y ahora puedes ver que nuestro proyecto compiló con éxito. Entonces entremos al navegador. Se puede ver que no tenemos ningún problema. Y vamos a golpear el club de lectura de diseño de materiales también en nuestra aplicación. Entonces vamos a usar este juego de mosaicos. Entonces qué voy a hacer, entonces lo que tienes que hacer, solo tienes que ir a este enlace y solo tienes que copiar esta parte. Vamos a usar esta configuración de estilo, el diseño de materiales Bootstrap five. Pero esta aplicación, y vamos a entrar en el código de Visual Studio. Así que he copiado esta hoja de estilo. Y en público index.html, tenemos que simplemente pegarlo aquí. ¿Bien? Así que terminamos con este material heredable que Bootstrap. 21. Aplicación de cócteles del proyecto 2: encabezado: Entonces ahora vamos a empezar a trabajar en el componente header. Así que hereda el archivo dot js lo que vamos a hacer. Por lo que tendrá un archivo muy básico contenido en el encabezado punto js archivo. Entonces estamos usando el estado hashtag del material para el n booster cinco. Entonces vamos a usar el nombre de la clase. Entonces el nombre de la clase con luz, navbar, luz. Entonces sé la luz. Y esto se arreglará. Parte superior. ¿Bien? Entonces esta clase ahora vamos a usar, entonces vamos a tener otro div con la clase de fluido contenedor. Entonces dentro de eso vamos a tener la palabra clave ban. Y vamos a tener otro platino que el nombre de la clase será ligero. Ellos span etiqueta y el nombre de la clase será navbar, marca. Y margen inferior cero a uno, t1, luego encabezado, título, luego cuadros de texto. ¿Bien? Entonces este será el nombre de clase para una etiqueta span. Y podemos dar tu vida, encuentra tu coctel favorito. ¿Bien? Entonces este es el contenido muy básico que tenemos en nuestro archivo hero dot js. ¿Bien? Y éste, y éste será el nav, ¿de acuerdo? No hacer. Hagamos una cadena a esta. Así que terminamos con este componente de encabezado. Por lo que esto solo debe ser el contenido requerido para el archivo header dot js. Y voy a pintar este bien nebuloso en el archivo CSS index dot. Voy a pagar al código CSS por este archivo CSS de punto índice. Y vamos a entrar en el app.js. App.js cinco minutos para traer el código VS del componente de encabezado automáticamente el código VS del componente de encabezado para este componente de encabezado. Y entremos al navegador y verifiquemos si este componente de encabezado está funcionando o no. Se puede ver que tenemos este bonito encabezado. Encuentra tu cóctel favorito. 22. Aplicación de cócteles del proyecto 2: configurar Redux-Toolkit: Ahora vamos a trabajar en la exhibición del cóctel. Entonces primero, vamos a configurar el kit de herramientas del lector en nuestra aplicación. Entonces chicos, vamos a configurar el kit de herramientas redact en nuestra aplicación. Entonces en vez de voltaje, vamos a tener otra carpeta que se llama features. ¿Bien? Y en teoría, el redux en esto, vamos a tener un archivo que es store dot js. Y en tercer lugar está la característica. Vamos a tener el archivo cocktail fly. ¿Bien? Ya que estamos trabajando con el cóctel en esta aplicación, el nombre del archivo será como rebanada de cóctel. Bien, entonces en las diapositivas de coctelería, vamos a hacer toda la solicitud asincrónica y actualizaremos la tienda. Bien, entonces primero, necesitamos traer crear diapositivas y crear un think tank a partir del kit de herramientas redux. Bien, vamos a traer esas cosas primero. Tenemos que traer crear diapositivas y crear cualquier cosa. Entonces en mayor kit de herramientas, los lectores pueden ser incluidos por defecto, y que les permiten realizar borrar lógica asíncrona antes de enviar el proceso, el desierto al reductor. Para el concreto particularmente irritante, son responsables de realizar tareas asincrónicas. Entonces es por eso que vamos a hacer para crearlos asíncronos para realizar las tareas asíncronas y crear diapositivas. Básicamente una función que acepta e inicialmente toma un objeto de función reductora y es un rayo. Y luego automáticamente genera una acción, creó un acento que correspondía al reductor y se quedó. Entonces, con la ayuda de retest toolkit, no tienes que crear básicamente una acción separada, action file action type reductor. Por lo que todo se generará automáticamente con la ayuda de diapositivas. Y escribamos toda la lógica asíncrona con la ayuda del kit de herramientas del lector. En concreto, vamos a buscar toda la lista de cócteles y mostrarla en la página principal. Entonces escribamos como dice el costo de exportación. Ok. Entonces básicamente se encargará de arreglar todos los cocteles. Con la ayuda de API, vamos a utilizar la calificación crediticia hecha. Y básicamente esto aceptará los tres parámetros que es un tipo de acento, que será la cadena, una función de devolución de llamada. Y luego opcional que es un objeto, ¿de acuerdo? Entonces este será, el tercer parámetro, será el objeto y que no es opcional. ¿Bien? Así que vamos a definirlo a diez tipo, que será la cadena. Entonces ya que estamos lidiando con el coctel, así que definamos como cocteles. Y esto va a ser como pitch. Cócteles de tono, ¿de acuerdo? ¿Cuáles cocteles? Y el segundo parámetro vamos a tener la función de devolución de llamada de luz. ¿Bien? Entonces esta función de devolución de llamada básicamente hará que la solicitud API. ¿Bien? Vamos a ser enormes, creo que aquí. Y para hacer la solicitud API, vamos a usar solamente el fago. Regresar h. vamos a pegar la API aquí. Yo sólo voy a pegar el API en este fago. Así que sólo voy a pegar la API aquí. Entonces esta APA que vamos a usar están consiguiendo todo el coctel. Así que básicamente esta API devolvió 25 cocteles, ¿de acuerdo? Alrededor del 25% de retorno. Para que veas que vuelve alrededor del 25 coctel en mi Cartero. Entonces entremos en el Código de Visual Studio y cuando se resuelva la promesa después de hacer las solicitudes API. Entonces vamos a manejar en el método den. Obtendremos la respuesta. Y esto será solo responder, Jason. ¿Bien? Chicos, parámetro en el crear está en agradecimiento no es una opción y ya terminamos con la primera acción que se encarga de conseguir todos los cocteles de esta APA. Entonces ahora esto crea un think tank con Italia generó tres ciclo de vida prometido que está pendiente, cumplido, y reflejó este ciclo de vida que vamos a manejar en el reductor extra. Así que básicamente extra reductor manejar la solicitud asíncrona. ¿Bien? Vamos a manejar todos estos tres ciclo de vida que es gasto cumplido y rechazado. Vamos a manejar en el reductor extra, que será el encargado de manejar la solicitud asincrónica. Entonces vamos a usar las diapositivas create para ese propósito solamente. Entonces ahora lo que podemos hacer aquí, const cocktail slide. Y vamos a usar todavía crear diapositivas. Entonces esto básicamente aceptará, vuela nombre, así que nombre leve se le puede dar como coctel solamente, cocteles. Y lo segundo lo intentará el estado inicial. Entonces hay que defender inicialmente, inicialmente recto nuestra aplicación será como cocteles, el temario y en PTA. Y también vamos a tomar un solo coctel. También será la única carga que vamos a usar. Entonces este será el falso inicialmente y el error también vamos a usar este será el nulo. Entonces hemos definido la tasa inicial. La tercera cosa que vamos a definir es ese reductor extra. Reductor, vamos a manejar los tres ciclos de vida prometidos que se generan al crear un think tank que está pendiente, cumplido y rechazado. Entonces vamos a usar tu pierna, que cocteles y pintura. Y después de eso, vamos a tener una acción estatal. Y esto será como estado no cargando para gobernar. ¿Bien? Entonces pintar significa que nuestros datos están en camino. No hemos recibido los datos. Entonces en la UAB, no hemos recibido los datos. Entonces mientras tanto, mostraremos algún tipo de spinner. Entonces por eso estoy usando carga amarilla. Bien. Y se cumplió. Así que fh.com, así que el lote de coctelería fago cumplió. Y va a tener el estado, la acción estatal. Y ahora lo que vamos a hacer cocteles estatales y punto. Y podemos usar aquí acción ligera, no carga útil. Entonces esto será ligero acento punto carga útil y bebidas. Entonces, ¿por qué estamos usando como x n punto carga útil punto bebida. Si vuelves al Pokémon, puedes ver que aquí tenemos que apuntar a las bebidas, bien, entonces obtendrás todo este cóctel. Entonces es por eso que estamos usando aquí x n punto de carga útil punto bebidas. Espero que entiendas el punto ahora. Y si la carga de puntos theta1 también será falsa una vez que hayamos recibido los datos en nuestra interfaz de usuario. Y definamos también a los rechazados. También hay que dar la coma aquí. De lo contrario, obtendrá este encabezado y este será el rechazado. ¿Bien? En ese caso, solo puedes tener la carga útil del punto de acción. Y este será el error de estado. ¿Bien? Ahora tenemos que exportar éste. Así que vamos a exportar por defecto, reductor de punto de rebanada de cóctel. Ahora, vamos a configurar básicamente la tienda con kit de herramientas 3D es muy fácil de configurar la tienda. Solo se requieren dos o tres líneas de código para configurar este recorrido con el kit de herramientas de predicción codo. Necesitamos traer la configuración desde el kit de herramientas de escritorio. Así configuró la restauración. Y vamos a importar reductor de coctelería. Problema reductor. Destacados. Cóctel vuela, bien. Y vamos a exportar default. Tienda proporcionada. Y podemos alcanzar el valor clave para nuestros reductores ya dichos. Y de hecho que vamos a definir la clave. Entonces voy a definir la app y tierno productor de coctelería. Con la ayuda de app key, vamos al estado, lo que sea que tengamos en nuestra tienda. Entonces, sea cual sea el estado que hemos definido aquí en nuestro tobogán de cóctel, vamos a acceder a todo esto, al estado desde una tienda usando el valor clave. ¿Bien? Ahora tenemos que hacer algún destacamento menor en nuestro archivo index.js. Entonces primero, tenemos que traer la tienda. Además, necesitamos traer lo proporcionado, proporcionado desde React redux. Así que vamos a traer lo proporcionado de React redux. Entonces del reactor te patas, necesitamos proveedor. Y lo que podemos hacer aquí, proveedor, y vamos a cortar toda esta parte. Y vamos a pegarlo aquí. Y vamos a definir la tienda y solo encontraremos la tienda. Dicen que básicamente nuestra aplicación React puede acceder a ellos, se borra que hemos definido en nuestro segmento de contenido. Bien, chicos, ahora tenemos configurados los kits de herramientas redact que está completamente en nuestra aplicación. Y también puedes verificar éste en el navegador también. Entonces vayamos al navegador, actualicemos y abramos la herramienta dev. Para que puedas ver la fecha aquí. Este es el estado inicial de nuestra aplicación. Entonces tenemos cocteles con la entrada t en un cóctel o un error de falla de carga. Esto es lo mismo inicialmente que hemos definido en nuestro, que hemos definido en nuestro archivo cocktail slide dot js, que hemos configurado con éxito el kit de herramientas redact en nuestra aplicación. 23. Aplicación de cócteles del proyecto 2: componente de búsqueda: Entonces chicos, lo siguiente que vamos a trabajar en el campo de entrada de búsqueda. Así que entremos en el código de Visual Studio. Así que vamos a crear un archivo aquí. Se puede meter en la cárcel. Y también vamos a tener un archivo CSS. Pero el tercer insumo también. ¿Bien? Y vamos a generar un fragmento aquí primero. Y después de eso, vamos a tener algunos ganchos. Entonces vamos a necesitar este gancho en nuestro archivo de entrada de búsqueda. Entonces vamos a utilizar un usuario de aquí. Y después de eso, también necesitamos traer el archivo CSS para esta entrada de búsqueda. Así que vamos a traer eso también. Eso es CSS de punto de entrada. Y voy a pagar el código CSS para este huracán put dot archivo CSS. Así que chicos, acabo de recoger el código CSS para este archivo CSS de punto de entrada de búsqueda. Puedes copiar todo esto aquí, puntaje de prueba si quisieras. Bien, al hacer una pausa en este video, espero que tengan una copia. Yo sólo voy a golpear a Export. Y vamos a entrar en este hidrógeno poner el archivo dot js. Y aquí, lo que podemos hacer a cambio, no vamos a usar la etiqueta div. Y vas a tener el nombre de la clase aquí. El nombre de la clase será la sección. Eso está bien. Entonces vamos a tener otro nombre de clase con el formulario. Entonces vamos a ser la etiqueta de formulario y el nombre de la clase será la forma más justa. No necesitamos acción, forma de verbo. E informar dónde vamos a tener algún día. El nombre de la clase, control de formulario. ¿Bien? Y de hecho que vamos a tener una etiqueta. Así que vamos a movernos con el nombre. Te podemos dar, como ese coctel. ¿Bien? Y vamos a tener entrada aquí una. Entonces esta entrada, vamos a tener el tipo. Entonces tipo será el nombre de solo texto. Sólo podemos dar nombre. Puedes dar identificación aquí. Serán sólo el nombre. Y usemos el, use el representante aquí también. Entonces const value, usa ahí. Y vamos a usar aquí, ¿de acuerdo? Valor de compensación. Entonces buscando valor, puedes dar aquí. Y el resto de la lógica vamos a escribir más adelante una vez que nos quede en toda la lista de coctelería. ¿Bien? Entonces la tasa de la lógica para este archivo de entrada de búsqueda lo escribiremos más tarde, ¿de acuerdo? Una vez que hayas exhibido toda la fecha del cóctel en la página principal. Entonces qué podemos hacer aquí a partir de ahora, así que ve al archivo index.js, ingestión, trae el componente de entrada de búsqueda, ¿bien? Y vamos a quitar esta. No necesitamos este. Y entremos en el navegador. Y vamos a ir a la página principal. Ahora. Entonces ahora puedes ver que tenemos este campo de entrada de búsqueda y luego escribiremos la lógica una vez que, una vez que mostramos toda la lista de cócteles en esta página de inicio, bien. 24. Aplicación de cócteles del proyecto 2: muestra cócteles con acciones: En lo siguiente estaremos trabajando en levantar todo el elevador de cócteles en nuestra página de inicio. Entonces vamos a definir el componente aquí. Así que definamos aquí un componente para mostrar todo el cóctel que queda en nuestra página de inicio. El nombre del componente será como list dot js. Y vamos a generar este fragmento primero. De react, necesitamos algunos ganchos como el estado UC y el efecto de uso. ¿Y del reactor cayó eso? Por lo que necesitamos que hayas seleccionado y usado en despacho. Has seleccionado y utilizas despacho de reactivado. Así que vamos a traer esas cosas también. Selector usado. Y también vas a necesitar ese axón. Eso es cócteles de fagos. De nuestra rebanada de cóctel. Tenemos que volver a la carpeta redact, luego carpeta de características, luego ven, luego rebanada de cóctel. Y tenemos que traer los cocteles de fagos. Y también vamos a usar el enlace del router React hacia abajo. Vamos a traer el enlace también. React router dom. Y primero, lo que vamos a hacer, primero, vamos a extraer el estado de nuestra tienda con la ayuda de ustedes seleccionados. Usted seleccionó. Podemos usar todavía para extraer dictado que hemos definido en nuestro código. Podemos hacer algo así. No lo hizo, porque nuestro coctel para hacerlo está registrado con la clave de la app. Si vuelves al archivo punto js de la tienda. Bien, así que con la ayuda de esta clave de aplicación, podemos extraer el estado en el que hemos definido nuestras diapositivas de cócteles. que podamos activar el estado, así podremos extraer todos estos estados que hemos definido en nuestros cocteles. Los toboganes de cóctel con el codo tienen en nuestro plato coctelero punto js file. Para levantar el cóctel. Vamos a necesitar cócteles. ¿Bien? Y también vamos a necesitar de carga. Y tenemos que definir cuando un estado todavía. Entonces eso será como cóctel modificado. ¿Bien? Así establecer cóctel modificado. Esta será la entrada D. Y vamos a almacenar también la referencia de enorme despacho Intuit variable despacho. Porque también vamos a necesitar despachar este axón de cócteles de fago. Y vamos a despachar en esta etapa bloque por dentro son enormes. Entonces aquí vamos a usar el efecto Hughes . Esta será la entrada t. Eso significa que la vamos a mostrar en la carga inicial de la aplicación. Siempre que el usuario cargue la aplicación, vamos a despachar estos cócteles de borde, ¿de acuerdo? Y también podemos verificar éste ya sea que esté funcionando o no. Así que vamos a darte una lista de cócteles ligeros de lectura. Bien. Así que tenemos que traer esta lista de cócteles aquí también en nuestra carpeta Páginas. Bien, entonces index.js, tenemos que traer la lista de coctelería. Así que ustedes podrían importar automáticamente ese componente para mí. Y vamos al navegador. Y ahora se puede ver que tenemos todos los cocteles. Así que tenemos alrededor de 25 cocteles. Se puede ver que hemos comprado todos los cocteles. Así que volvamos al Visual Studio Code. Y ahora lo que tenemos que hacer, primero, necesitamos escribir un efecto de uso más. Porque aquí vamos a cambiar algunos nombres. Para que veas que aquí tenemos algún nombre raro. ID de bebida, tenemos identificación, bebida, chicos. Un par de propiedad objeto. Vamos a renombrar. Bien. Entonces hagámoslo también. Entonces vamos a tener uno más usuarios que, y por eso he definido aquí el estado coctelero modificado aquí. Este usuario solo corra una vez que tengamos la hora del coctel para almacenar. Este enorme efecto también se ejecutará si estos cócteles tuvieron un buen cambio. ¿Bien? Entonces podemos consultar aquí, pero si tenemos los cocteles, entonces podemos tomar como nuevos cócteles. Y podemos simplemente mapear los cocteles ya que es una variedad de objetos que conseguirán pueden usar aquí. Entonces podemos usar la función map. Y a partir del artículo vamos a detectarle parte de la propiedad. La propiedad luz, bebida ordenada. Bien. Entonces sí bebí. Podemos hacer textura, luego bebida STR, luego bebida FTR, Tom, luego un TR. Así que voy a ir a copiar la cosa. Entonces este de aquí. ¿Bien? Y clase STR. Esta es la última propiedad que necesitamos. Y después de eso, vamos a cambiar el nombre esta propiedad porque esto se ve un poco raro. ¿Bien? Entonces este será el nombre del anillo agregado ligero. Podemos tener como imagen de bebida FTR. Entonces esto será como STR, bebe, entra jala. Este será el alcohólico STR. Y me alegro de que esto sea STR y vidrio. Se puede ver que estos todos los nombres estamos en. Entonces por eso, por eso he renombrado toda esta propiedad. Así podemos usar como id name image1 para vidrio. Entonces podemos exponer el cóctel modificado a los nuevos cócteles. Bien. Entonces dentro de lo demás, si no tenemos coctel entonces que el proctor modificado hasta el infinito. ¿Bien? Y usemos también la carga también. Entonces, si tienes la carga, eso significa que nuestros datos están en camino. No hemos recibido esos datos RTI hasta ahora. Hasta ese momento, podemos mostrar la carga. Bien, entonces algún tipo de spinner podemos mostrar retorno. Podemos tener aquí en vivo con el nombre de la clase div pintor. Puedo crecer. Bien. Esto va a estar teniendo el papel. Aquí estamos usando básicamente el archivo bootstrap de Material Design, ¿de acuerdo? Y podemos tener una etiqueta span con el nombre de la clase visualmente oculto. ¿Bien? Y podemos tener aquí como cargando y dentro de la devolución. Y podemos eliminar esta. Esto va a tener un contenedor LastName. Entonces vamos a tener otro nombre de clase. Entonces vamos a usar material hoy después del nombre de clase aquí. Entonces fila, puedo llamar columnas. Anexo uno, luego fila llama md guión tres, luego G guión cuatro. Y podemos usar aquí estos cócteles modificados. Puedes usar tu mapa. ¿Bien? Podemos simplemente capturar toda esta propiedad que tenemos renombrar todavía id, name, image y Fogler de item. Entonces artículo y solo podemos tomar una foto id, nombre, imagen, vidrio. Y entonces podemos tener una vuelta aquí. Y esto dentro de retorno, esto va a tener un nombre de clase con la columna. Bien. Y tenemos que aportar la clave. Entonces él será el ID. Y entonces vamos a tener el platino con el auto. Entonces el borde del auto pasa a atar eso. Vamos a tener en la imagen con la tarjeta de nombre de clase, guión IMG arriba. ¿Bien? Y vamos a definir la fuente. Entonces ya tenemos la estructura, la imagen del ítem, y podemos tener el nombre. ¿Bien? Y después de eso, vamos a tener el div con el cuerpo de la tarjeta de nombre de clase. ¿Bien? Y vamos a usar el teselas del Atlántico, así que el texto distribuido se alinea a la izquierda, bien. Y dentro del div, vamos a tener la etiqueta h5 con el nombre de la clase, el título de la tarjeta, bien. Y este título les va a tener nombre. ¿Bien? Y vamos a volver a copiar una vez más. Y este será el borde fértil. Y esta será la copa. Y vamos a tener una etiqueta p con el texto de la tarjeta de nombre de la clase, ¿de acuerdo? Y de hecho que vamos a tener en la info, ¿de acuerdo? Y después de eso, vamos a tener un botón de detalle. Vamos a usar link. Y vamos a tener un botón, botón con el nombre de la clase btn. Btn en cuatro, ¿de acuerdo? Y esto va a tener un detalle. Y esto básicamente navegará hacia la página del cóctel único. Si por lo general te interesa ver el detalle sobre ese cóctel en particular que enrutó ya registrado en nuestro archivo app.js. Entonces tenemos pediátrica específica cualquiera de las dos rutas aquí, así que ya hemos rechazado esta ruta. Eso lo puedes ver en nuestro archivo app.js, coctel, ¿bien? Y tenemos que especificar el ID. Entonces esta es una lista de cócteles. Podemos dar su identificación. Bien. Creo que ya terminamos. Bien. Y podemos verificar éste ya sea que esté funcionando o no. Entonces entremos al navegador. Así que ahora puedes ver ahí somos capaces exhibir todo el coctel que en nuestra Página principal. Bien. Entonces esto está funcionando bien. 25. Aplicación de cócteles del proyecto 2: acción para escabullirse: La siguiente característica vamos a trabajar en la exhibición de un solo elevador de cócteles en la ruta del cóctel. Así que una vez que el usuario haga clic en el detalle, así lo hará, así todos los detalles sobre ese cóctel en particular. Entonces esta cosa vamos a dejar que volvamos al código de Visual Studio. Entonces, para poder exhibir la información sobre el cóctel único, tenemos que trabajar en este archivo. ¿Bien? Entonces antes de trabajar en este archivo, entonces primero tenemos que trabajar en la rebanada de cóctel. Entonces aquí primero tenemos que escribir la acción. ¿Qué podemos hacer aquí? Así que sólo voy a copiar y pegar éste. Porque solo esta cosa, vamos a necesitar cambiar esta parte de APA, ¿de acuerdo? Sólo voy a pegar la API que se requiere aquí. Entonces el TPA vamos a usar perfeccionando el cóctel único basado en el ID. Primero, renombrar todo esto, ¿de acuerdo? Este será el primer cóctel sencillo, y cambiemos el nombre del mismo tipo también. Vamos a recibir este id de nuestro componente, por lo que menos que este detector, la luz ideal de esta manera. Y tenemos que definir los tres ciclos de vida prometidos para este Ax y Ay también. Así que voy a copiar todo esto y pegarlo aquí. Y tenemos que renombrarle este. Entonces este será el cóctel único de fagos. Y en ese caso también hay que apuntar a sus bebidas, bien. Y no te olvides de cambiar esta. Así que esta vez estamos tratando con un solo cóctel, ¿de acuerdo? Por lo que esta área solo contendrá un solo objeto porque esta será la respuesta PER para mostrar la información del cóctel único. ¿Bien? Así que de nuevo, hay que apuntar a las bebidas de punto de carga útil de punto de acento. Bien. Así que terminamos con la lógica en nuestro contexto, leve o GAS para ir a buscar el cóctel sencillo. 26. Aplicación de cócteles del proyecto 2: página de detalles: Así que vamos a entrar en este único archivo cocktail dot js. En este archivo primero necesitamos traer algún gancho de nuevo, como lo repites. Usa el efecto, ¿de acuerdo? Y también queremos necesitar enlace del router React hacia abajo. Y también vamos a necesitar usar mejor usar la permanente porque vamos, vamos a necesitar la identificación. Así que una vez que el usuario haga clic en los detalles, así que si haces clic en detalle, así podrás ver que necesitamos este ID, ¿bien? Así que este hardy lo podemos conseguir con la ayuda de, uh, padres. Y también necesitamos esa acción que acabamos de crear en nuestras diapositivas de cócteles. Entonces tenemos que ir a la carpeta redux, diez características, luego rebanada de cóctel. Y podemos traer ese cóctel único de borde. Y también vamos a necesitar selector usado y usar despacho de React redux. Entonces desde React redux, necesitamos usar el electoral, usar despacho. Despacho y seleccionaste. Y nuevamente, necesito el coctel y la carga en parte de nuestra restauración con el codo, usamos selector. Así que el estado. Y con la ayuda de theta dot AB key, podemos extraer el cóctel y el valor del estado de carga. Y nuevamente, tenemos que volver a definir esta cosa. Entonces sólo voy a copiar esta, esta parte y sólo pegarla aquí. Porque de nuevo, necesitamos cambiar el nombre de la propiedad existente del cóctel porque los que se llaman Luke, un poco raros. Entonces tenemos que renombrar algunas de las propiedades existentes de este cóctel. Para que veas que tenemos esto todo lo que somos ahora. Simplemente vamos a renombrar hum, de la propiedad existente de este cóctel que vamos a tener de nuevo, este cóctel modificado. ¿Bien? Y hemos almacenado la referencia de Eurydice pet en una variable de despacho. Y después de eso, tenemos que disipar este cóctel sencillo de página. ¿Bien? Entonces este enorme efecto ya lo es, y una vez que tenemos el ID, hasta el momento ID, lo que podemos hacer, podemos detectar que el id con la ayuda del uso. Así que sea cual sea la idea que tengamos en una URL, podemos detectar donde el id con la ayuda de enorme patrón y esta enorme mascota solo se ejecutan una vez que tenemos el ID. Entonces podemos despachar un solo coctel y solo podemos proporcionar la identificación, ¿de acuerdo? Y puedes ver que esa idea está obteniendo gran textura aquí en nuestra primera acción de cóctel sencillo. Así que volvamos al archivo single cocktail dot js. Y nuevamente, tenemos que escribir un efecto de uso más. Este enorme efecto sólo se ejecutará cuando tengamos el ID. Y luego, bien, y aquí de nuevo vamos a comprobar la duración del cóctel. ¿Bien? Entonces, si tienes algún valor, eso significa que vamos a tomar la longitud del cóctel. Y si es mayor que cero, y eso significa que tenemos el coctel, coctel en nuestra zona objeto. Y después de eso, vamos a deshacerte de la estructura. Algo de la cosa. Vamos a dictar cómo arriba la propiedad a partir de este cóctel, esta zona de coctelería con Italia sostiene el área única de objeto con, porque esto, porque este error de cóctel solo será responsable mostrar la información del cóctel único. Por lo que esto solo contendrá un solo objeto de área. Entonces este coctel, podemos llegar al índice cero porque aguantará, porque contendrá sólo la única área del objeto. Y podemos fotografiar la cosa como STR, beber. ¿Bien? Y podemos cambiarle el nombre a esto por nombre. Bien. Entonces igualmente, voy a hacer renombrados, tarareado , de la propiedad adjetiva. ¿Bien? Así que voy a pagar todas esas cosas aquí. Voy a cambiar el nombre de toda la propiedad como FTR, beber eso, beber. Al correo electrónico directamente o alcohólico a info. Entonces todo esto todo el objeto de propiedad existente un día llamado aquí. Y también vamos a usar este ingrediente. Hasta ahora ingrediente, lo que tenemos que hacer. Entonces tenemos que definir un nuevo ingrediente. Entonces ingrediente, ingredientes. Y esta será la matriz. Y dentro de eso vamos a tener todos los ingredientes. ¿Bien? Entonces los ingredientes STR como bien, voy a definir uno por uno. ¿Bien? Y después de eso, vamos a tener en el nuevo coctel, bien, llamado coctel nuevo a tener el nombre imagen, imagen corporal en categoría completa. Entonces pongamos en esa categoría. Después de eso, vamos a tener en el vaso. En vaso, luego instrucciones, ingredientes. Bien. Entonces podemos hacer así, modificar coctel a nuevo coctel. Y si no tienes los cocteles, Entonces solo hazlo que modifique coctel a nulo. ¿Bien? Entonces este enorme efecto solo se ejecuta una vez que tenemos id y un poco de información sobre cócteles, ¿de acuerdo? Y aquí tenemos que comprobar. Si no tenemos ningún cóctel modificar. Eso significa que podemos regresar. Hola. Agradable etiquetar aquí. Para con la sección de nombre de clase, guión, título. Y podemos dar alguna descripción de la vida, no hay coctel para exhibir. Lo que podemos hacer aquí. Así que sólo podemos eliminar esta. No necesitamos este. Y por dentro vamos a regresar. De lo contrario. Terminemos la estructura del cóctel modificado. De coctel modificado, necesitamos nombre, imagen, categoría en vaso lleno. Instrucciones e ingredientes. ¿Bien? Y aquí podemos regresar, devolver que podemos usar fragmento primero. Y podemos comprobar si hay una carga. Entonces voy a exhibir el spinner. ¿Bien? Así que vamos a usar el div con el nombre de clase spinner grow. Y va a tener un papel con este estatus. ¿Bien? Y dentro de eso, vamos a usar la etiqueta span con el nombre de la clase con Willie oculto. Te podemos dar una recarga en vivo. Los tres puntos. Aquí, vamos a mostrar toda la información sobre ese cóctel en particular, en particular. Ahora, vamos a tener la etiqueta de sección con el nombre de la clase, ficción, cóctel, guión, elección, y todo el estilo con este nombre de clase que ya he definido en nuestro archivo CSS de punto índice. ¿Bien? Para que veas que no tienes que preocuparte por este archivo CSS porque ya he proporcionado el enlace para todo el archivo CSS que he usado en esta aplicación. Dentro de esto, vamos a tener cinco eslabones. ¿Bien? Entonces este enlace básicamente tiene el botón Volver atrás. Y queremos usar botón, color de botón. Y vamos a usar algún botón con el nombre de clase btn, guión peligro. Y podemos darle un poco de estilo en línea. Entonces margen, arriba. Y este será el valor del botón, será la vuelta atrás. ¿Bien? Y después de este enlace, vamos a tener la etiqueta H2 con el nombre de la clase. Título de la sección. Bien. Bueno, ahí va a tener en el nombre y vamos a tener otro nombre de clase con la bebida. En emplumado. Voy a usar etiqueta de imagen, fuente. Vamos a usar el correo electrónico aquí solamente. En adulto. Vamos a usar nombre. ¿Bien? Entonces, entonces vamos a tener el div con el nombre de la clase y traer info. Entonces vamos a usar la etiqueta p. Entonces vamos a usar una etiqueta span con el nombre de la clase, bebida, abro datos. Y es un poco el nombre. Bien. Y me alegro de que hayamos ido a tener el nombre. Entonces esta cosa va a ser repetitiva. Así que sólo voy a copiar esta etiqueta p un par de veces. Así que vamos a copiar por el tiempo. Por lo que esta será la categoría. ¿Bien? Por lo que podemos usar aquí categoría. Este será el insumo. Entonces esta será la informalmente y esta será la copa. Demos vidrio aquí. Y después de eso, vamos a tener la tracción también. Esta será la instrucción. ¿Bien? Y en general, vamos a exhibir los ingredientes, ¿bien? Entonces esto va a ser un poco diferentes ingredientes en ingredientes, OK. Y vamos a quitar esta. Porque ingredientes, teniendo eso. Bien, se puede ver que tenemos ingrediente en la matriz. Entonces, ¿qué podemos hacer aquí, así podemos usar aquí para mapear, bien? Entonces ingredientes, no mapa. Podemos tener ítem e índice. Y sólo podemos devolver el artículo. Entonces vamos a usar el tiempo tanh. La clave. Si no tienes ningún ingrediente, sí, sólo voy a devolver el nulo. Y sin embargo voy a exhibir todos los ingredientes en este tiempo. Así que podemos usar este artículo y tienes que proporcionar la clave también. Así que clave aquí voy a usar el en profundidad. ¿Bien? Entonces creo que ya casi terminé con este cóctel sencillo y creo que no estamos usando la imagen. Entonces, ¿dónde está la etiqueta de imagen? Bien, entonces aquí va a ser la imagen. Entonces, actualicemos este. Entonces ya terminamos con este cóctel sencillo, y vayamos al navegador y verifiquemos si esto está funcionando o no. Así que vamos a hacer clic en el detalle. Bien, Así que hemos comprado esto no se puede leer propiedad de undefined. ¿Bien? Entonces, qué podemos hacer aquí. Así que entremos en el navegador. Vamos, vamos a la obligación religiosa primero, y vamos a hacer clic en el detalle. Entonces ahora puedes ver que hemos conseguido estos ingredientes, OK. Y veamos también los demás ingredientes. Por lo que también puedes hacer click en éste. Puedes ver que tenemos esta categoría de nombre en para vaso, en ingredientes de instrucción, toda esta información sobre este cóctel en particular, ¿bien? 27. Aplicación de cócteles del proyecto 2: búsqueda de cócteles: Entonces, lo siguiente que vamos a trabajar en el hidrógeno, el cóctel y las guías. Ya hemos hecho un poco de trabajo en nuestro componente de entrada de búsqueda. Así que vamos a completar ese componente de entrada de búsqueda. Así que volvamos al código de Visual Studio. Entonces primero, vamos a necesitar escribir la acción en nuestros cocktails live dot js file. Entonces copiemos esta. Cambiemos el nombre de éste. Entonces será el cuadro de búsqueda fetch. Y cambiemos el nombre de éste. Bien, también tenemos que cambiar esta API. Entonces esta vez vamos a recuperar el tercer componente. Entonces busca texto y tenemos que cambiar esta APA. Sólo voy a pegar la API que se requiere para buscar los cócteles. Entonces vamos a usar este API, hidrógeno, el cóctel. Y tenemos que definir nuevamente tres promesas de ciclo de vida en nuestro reductor. Entonces sólo voy a copiar estos tres. ¿Bien? Y vamos a pegarlo aquí. Y cambiemos el nombre a este cóctel de fagos, ¿de acuerdo? Bien. Y vamos a actualizar el estado de los cocteles, ¿de acuerdo? Porque puede, porque puede resultar más de un cóctel con este valor jerárquico. ¿Bien? Entonces vamos a usar cócteles JD dot y tenemos que apuntar de nuevo a que solo beba. ¿Bien? Así que terminamos con la lógica en nuestra diapositiva de cócteles, archivo dot js. Así que vamos a entrar en el archivo de entrada de búsqueda punto js. Dentro de esto, vamos a haber tocado Font submit. Al presentar. Vas a tener en el mango cumbre. Y definamos rápidamente este mango. Y este mango algunos recibirán el evento. Esto va a tener solo punto E evitar el default, ¿de acuerdo? Y tenemos que definir el onchange. Sin cambios tendrá el cambio de mango para encontrar este también. Entonces manejar el cambio y este cambio de mango y este cambio manejado. Vamos a tener esta estrategia. Es decir, ya que estamos usando al usuario. Así podemos obtener el valor como 30 valor valor punto actual valor. ¿Bien? Y tenemos que traer esa primera acción que hemos creado en nuestro archivo de diapositivas de cóctel punto js. Entonces tenemos que volver a las características de la carpeta redact, coctelería vida, y tenemos que traer esa acción, que buscan coctel. Y también vamos a necesitar aquí. Despacharás desde nuestro React redux para menospreciar la acción. Primero antes de despachar la acción, llevó a almacenar la referencia de la enorme disparidad en la variable despacho. Y aquí podemos despachar, bien. Así que página y podemos disipar tocados. Bien. Y también tenemos que hacer un poco más de inversión en nuestro archivo index.js. Y llamamos en algún momento si no consigues el cóctel aportando el valor a la búsqueda en pisadas, entonces en ese caso, tienes que mostrar algún contenido. ¿Bien? Entonces primero vamos al archivo index.js. Archivo Index.js, donde estamos levantando toda la lista de cócteles. Entonces tenemos que volver a este componente de lista de coctelería. Y aquí tenemos que comprobar, como si no tuviéramos los cocteles. ¿Bien? Entonces simplemente regresa con algunos métodos. Como el método será como no, coincide con tus criterios, ¿de acuerdo? Y podemos verificar éste ya sea que esté funcionando o no. Entonces volvamos al navegador. Refresca esta aplicación. Pensemos que te dio en el cóctel nombre Adam. Se puede ver que sólo tenemos el cóctel con la palabra clave Adam. Y también puedes ver la información sobre este cóctel en particular. Y volver atrás también está funcionando. 28. Project 3 Carrito de compras - Demo de aplicaciones: Hola a todos y bienvenidos a esta sección en la que vamos a aprender cómo podemos realizar todo tipo de operación de carrito de compras con el kit de herramientas del lector en la aplicación React. Y también vamos a usar Redux persisten aquí con kit de herramientas 3D para persistir el valor del artículo del carrito de compras. Siempre que replantees la aplicación, el valor será per se. Así que vamos a tener una rápida demostración de esta aplicación, que vamos a trabajar en esta sección. Entonces este es nuestro carrito de compras. Y si aumentas la cantidad, así podrás ver que el total se está actualizando por aquí. Y la comunidad en nuestro cartílago también se actualiza. Entonces en todas partes se actualiza. Siempre que actualices la cantidad y disminuyas la cantidad. Entonces esto también está funcionando. Puedes ver que nuestra cantidad de tarjetas se está actualizando y esta no deseada también se está actualizando. También puedes retirar el producto del carrito de compras. Entonces, para hacer clic en este icono, este artículo se eliminará de nuestro carrito de compras. Y el monto total se actualizará, y la cantidad también se actualizará. También puedes eliminar el artículo de esta tarjeta si vuelves a hacer clic en esta, porque solo tenemos una cantidad. Y si vuelves a hacer clic en esta flecha hacia abajo, esta manera también, se va a quitar de este auto se lo llevó. Y también puedes borrar el carrito haciendo clic en este botón. Puedes ver que ahora nuestro soft codificó la entrada t. y si quisieras volver a obtener todo el ítem, entonces tu proyecto da click en este botón. Y nuevamente, se puede realizar la misma operación, como aumentar la cantidad o disminuir la cantidad. Y todo este valor se actualizará. Entonces vamos a escribir una reacción redox diferente, diferente con la ayuda del kit de herramientas de Frieda. Y también vamos a persistir toda la tarjeta de compras. Entonces si actualizas esta aplicación, para que veas que nuestro carrito de compras se persiste por aquí, así sucesivamente persistiendo, estamos usando porcentaje Redux. Entonces también vas a aprender a usar paradox persisten con el kit de herramientas del editor en esta aplicación React. Entonces esta es la aplicación general que vamos a construir en esta sección. Entonces te voy a ver en el siguiente video donde vamos a montar nuestro producto cardiaco. 29. Proyecto 3 Carrito de compras - Configuración: Chicos, aquí voy a crear un proyecto. Entonces estoy en este directorio. Entonces voy a abrir una terminal. Y vamos a crear un proyecto y una aplicación Vx Create React. Y el nombre de mi proyecto será carrito de compras. Bien. Entonces este será el nombre de mi proyecto. Y esperemos a la creación del proyecto. Tomará alrededor de dos a 3 min para completar este proceso. Entonces voy a estar de vuelta. Una vez completado este proceso. Encuestas, la configuración de nuestro proyecto ya está terminada. Entonces primero vamos a entrar en esta carpeta que es carrito de compras. Y necesitamos instalar algunos paquetes antes de empezar a trabajar en esta aplicación. Así que vamos a usar el kit MDB react UI. Para trabajar en nuestro componente. Tenemos que redactar el kit de herramientas. También necesitamos React redux. También necesitamos el redox. Y también necesitamos que tus conductos persistan porque vamos a persistir nuestro artículo del carrito. Así que esperemos a la instalación del paquete y voy a estar de vuelta una doceava parte del paquete se instala. Entonces chicos, nuestra pipeta cortisol. Entonces hagámoslo primero. Y Kenneth Clark y yo ya abrimos este proyecto en mi código de Visual Studio. Entonces entremos en el Código VS. Se puede ver que tengo abierto el proyecto en mi código VS. Así que tenemos instalar estos paquetes. herramientas, reaccionar, redox, redox, redox persisten y MDB reaccionan ante usted. Yo podría. Y nuestra aplicación se está cargando en el navegador y nuestro proyecto y consiguió cargar con éxito en el navegador. Ahora, vayamos al Código VS Primero. Y hagamos un poco de limpieza primero. Entonces no necesitamos este. Bien. Y vamos a dar por ahora carrito de compras, bien. No necesitamos este logo, así que vamos a eliminar este. Eliminemos este archivo. Pongamos nuestro index.js y aquí está bien. Y vamos a crear algún archivo y carpeta. Entonces vamos a tener una carpeta redex. Y vamos a tener algún archivo aquí. Entonces vamos a tener navbar NodeJS. Vamos a tener una barra de navegación, un contenedor de tarjetas. Y vamos a tener nuestro artículo e insertar Redux. Vamos a tener una tienda que carretera de peaje. Y vas a tener una característica de carpeta. Dentro de la característica, vamos a tener nuestras diapositivas. Estamos tratando con el carro, entonces será Slice, slice dot j. ¿Bien? Y vayamos al archivo app.js y verifiquemos si este tinnitus de quedar reflejado o no reflejado. Ya que estamos usando aquí un diseño de materiales Bootstrap. Así que necesitamos traer un archivo CSS para nuestra pestaña Material Design. Voy a pegar la declaración de importación CSS o el material no se movió club. Entonces esta, tenemos que pegarla por aquí. Ahora bien, si vas al navegador, puedes ver que se llama cambio. Eso significa que hemos podido configurar con éxito el diseño de materiales Bootstrap en nuestra aplicación. 30. Carrito de compras del proyecto 3 - Configure RTK: Ahora, voy a configurar el kit de herramientas del lector en esta aplicación. Entonces vamos a empezar a trabajar en este componente que es navbar cart item id card container. Entonces voy a comenzar a configurar el kit de herramientas redact en esta aplicación. Así que vamos al carrito slash dot js file. Y necesitas traer vida creativa. Reduzca el kit de herramientas, cree diapositivas. Necesitamos. Y después de eso, hemos predefinido nuestra rebanada, rebanada. Rebanada. Somos nombre predefinido, por lo que será tarjeta. ¿Bien? Entonces tenemos que definir el estado inicial de nuestra aplicación. Entonces voy a tener artículos. Entonces básicamente tendrá todo el artículo del producto. Así que voy a elegir una falla de datos debajo de la carpeta de origen. Entonces este archivo de datos que necesitamos aquí bajo esta fuente, bien. Por lo que contiene cuatro productos con título, precio e monto. Entonces inicialmente estoy fijando la cantidad es una. Entonces esta es la cantidad. ¿Bien? Ahora vamos a las tarjetas como o archivo JS y tenemos que traer aquí el archivo de datos. Importamos datos y podemos atender este. ¿Bien? Entonces inicialmente vamos a, así que el cuarto producto de nuestra página, después de eso, vamos a tener cantidad total, ¿de acuerdo? Será cero inicialmente y conteo total. Esto también será cero. Y vamos a tener reductor dentro del cual vamos a escribir nuestro real. Inicialmente será la empatía. Exportemos esta diapositiva. El valor por defecto de exportación. Rebanada de carro, enseñado a leer dijo, Bien. Ahora vamos a este archivo punto js de tienda. Y aquí tenemos que traer la puerta de tu cochera mañana. herramientas para redactar. Desde redact toolkit, necesitamos traer tienda configurada. Ahora, también tenemos que traer nuestro reductor de carrito de esta función de rebanada de tarjeta plegada. Después de eso, básicamente tenemos que exportar nuestra tienda. Así que los conos de la puerta configurando la tienda. Y vamos a tener reductor. Así que básicamente vamos a acceder al estado que hemos definido dentro de estas tarjetas light o archivo JS con la tarjeta clave. Entonces vamos a asignar este carro, reducirlo al auto. Por lo que la configuración de nuestra tienda está terminada. Y ahora tenemos que juzgar por esta tienda, la tienda por defecto de exportación. Y el último paso, tenemos que hacer alguna configuración dentro de nuestro archivo index.js. Desde React redux, necesitamos traer proveedor primero. Así que vamos a traer proveedor para conectar nuestra aplicación React con redex. Y podemos simplemente poner este componente app, de hecho este proveedor. Y también tenemos que traer este tour. Vamos a esta carpeta. Y podemos proporcionar este histo a nuestro proveedor. Vamos a guardar este archivo y vamos a verificar si nuestro lector liquidus, nos permite configurar completamente o no. Entonces vamos al navegador. No tenemos ningún error. Entonces eso significó dos liquidus configurados con éxito. También puedes verificar con la reducción dúctil, si tienes un alto este DevTools en tu extensión Chrome. Si abres éste. Ahora puedes ver que tenemos nuestro estado inicial. Puedes ver que tenemos para producto dentro de este artículo. Entonces bien, eso significa que hemos configurado con éxito nuestro kit de herramientas de redacción en esta aplicación React. Así que la parte de configuración del kit de herramientas de reduct se ha completado todavía. Ahora vamos a empezar a trabajar en un componente uno por uno. Entonces primero empezaremos a trabajar en nuestro archivo nav bar dot js. 31. Proyecto 3 Carrito de compras - Navbar: Ahora voy a empezar con este componente Navbar. Así que amueblado menos que fragmento dendrítico por aquí. ¿Bien? Y en app.js, vamos a tener nuestro componente Navbar y contenedor de tarjetas. ¿Bien? Entonces vamos a trabajar en éste y podemos traer nuestro número de manera competente son sólo. Primero guardemos este archivo. Y entonces podemos traer esta navbar. Así que el código VS importa automáticamente este componente. Puedes verificar éste. Para que veas que está funcionando. Ahora, vayamos a este componente vecino. Y aquí tenemos que traer algún componente de nuestro bootstrap de diseño de materiales de MTV react UIKit. Necesitamos traer MDB, contenedor MDB, MDB, MDB, navbar link, MDB, marca navbar, insignia MDB. ¿Bien? Entonces este todo componente necesitamos. Después de eso, lo que tenemos que hacer. Así que también tenemos que traernos selector y enorme despacho de nuestra reacción para hacer a continuación. Vamos a traer esas cosas primero. Ya hemos definido el estado inicial dentro de este carro se encuentra. Entonces podemos tratar a este estado, ¿de acuerdo? En tercer lugar nuestro nav bar dot js file. Entonces dentro de navbar, tenemos una bolsa de carro en la parte superior, derecha. Bien, entonces ahí tenemos dos. Entonces el conteo total. Para que podamos leer el valor del estado con la ayuda de un enorme seleccionado. Y hemos explorado el reductor con la llave. ¿Bien? Podemos aceptar el estado apátrida oscuro atrapado. Y podemos capturar el conteo total. A partir de ahora sólo será cero. Entonces, trabajemos en este componente Navbar. Voy a usar fragmento aquí. Y voy a usar el número IMDB. Y aquí se ampliará. Alergia color oscuro. Te voy a dar primaria. Bien. En tercer lugar está el número IMDB. Voy a tener contenedor IMDB. Y entonces vamos a tener la marca IMDB navbar, ¿de acuerdo? Y aquí podemos dar como una tarjeta de compras redox toolkit. Bien. Y en terapia tenemos que pasarlos. Si estilizas, voy a dar un estilo como una línea. El artículo estará centrado. Vamos a dar exhibición. Demos flexibilidad a la pantalla y justifiquemos el espacio de contenido entre ellos. Vamos a guardar este archivo y podemos verificar estos cambios. Para que veas que estamos consiguiendo esta, nuestra bonita barra de navegación. Ahora después de eso vamos a tener MDB ahora Berlín. Y entonces voy a usar aquí una etiqueta con el nombre de clase MX, guión tres. Con Italia, estoy usando aquí el nombre de la clase bootstrap. Y podemos tener icono MDB. Y voy a usar iconos Font Awesome. Así que necesito poner una hoja de estilo para habilitar el Font Awesome. Por lo que se requiere este estado de teja de cresta para habilitar el torso único. Y dentro de este ícono de MDB, vamos a tener MDB malo. Bien, pasemos algunas ganancias en el ícono MDB de Faraday. Así que estamos usando el icono Font Awesome. Y puedo engranaje que voy a usar aquí intercambiando tarjeta. ¿Bien? El tamaño será grande. Y el color que voy a usar aquí bien. Ahora dentro está el valor MDB. Tenemos que proporcionar esta gota. El color será el peligro que aumente el rojo. Notificación, lo siento, incluso se notificará. Y tenemos que dar algunos tierra adentro cada embaldosado. Y voy a dar tamaño de fuente 12 pixel. Y aquí estamos con al menos mostrar el conteo total, ¿de acuerdo? Y podemos verificar éste ya sea que esté funcionando o no. Entonces entremos al navegador. Ahora puedes ver que está funcionando. Podemos leer este valor cero en nuestra tienda. Y actualmente no tenemos ningún artículo en el carrito, así que va a cero. Entonces nuestra barra de navegación es complicada por aquí. Y creo que no se requiere esta enorme disparidad. Pero vamos a eliminar esta. Así que la parte navbar se completa por aquí. Ahora vamos a trabajar en nuestro contenedor carrito. 32. Proyecto 3 Carro de compras - Diseño de carrito: Entonces ahora voy a empezar a trabajar en este componente contenedor de tarjetas. Entonces, enviémosle un fragmento por aquí. Entonces primero, tenemos que traer un gran efecto, ¿de acuerdo? Y nuevamente, necesitamos aquí enorme despacho y uso seleccionado de nuestro reaccionar a ese enorme selector. Por lo general despachar. Y necesitábamos traer algún componente de nuestro material para luego arrancar. El componente que necesitamos aquí, MDB, icono MDB. ¿Bien? Por lo que solo se requiere que estos dos competentes importen de nuestro viaje de diseño de materiales. Y aquí lo que tenemos que hacer. Entonces primero, necesitamos extraer algún estado que tenemos en nuestro sistema que tenemos en nuestro archivo cart slash dot js. Vamos a usar aquí el selector usado. Y podemos salir del estado con la tarjeta de punto estatal. Entonces necesitamos aquí artículos y cantidad total. ¿Bien? Ahora, lo que tenemos que hacer. Entonces, vamos a eliminar esta. Voy a ser cada fragmento. Y si tienes los artículos, entonces yo voy a soldar. Entonces ahora lo que voy a hacer. Entonces primero, voy ahora voy a usar tu etiqueta H2 con el nombre de la clase lead hyphen, md, hyphen, md hyphen two. Y te voy a dar un rubro como tu carrito de compras. Ahora, tenemos cuatro productos dentro de este artículo. Entonces voy a usar este componente dentro de este contenedor de tarjetas. Entonces por ahora, sólo voy a generar algún fragmento aquí. Trabajaré más tarde. ¿Bien? Y aquí tenemos el artículo, entonces artículos, ítem de mapa de puntos. Y podemos devolver aquí nuestro artículo del carrito. ¿Bien? El código VS importa automáticamente este componente y clave. Voy a ruta todavía item dot ID. Y voy a extender la altura hacia abajo. Así que este material data punto js contenido título precio. Lo hizo en Tokio. Así que vamos a guardar este archivo y vamos a entrar en el navegador para voltear este. Entonces este componente no está diciendo que tengamos que ser realmente ir a nuestro archivo app.js y tenemos que traer ese componente contenedor de tarjetas. Vamos a guardar este archivo. Ahora vamos al navegador. Así que ahora puedes ver que este componente del artículo del carrito se está renderizando por aquí. Así que tenemos cuatro ítems en el archivo data dot js. Entonces es renderizar por tiempo. ¿Bien? Después de eso, tenemos que trabajar en este carrito item dot js file. Entonces ahora voy a empezar a trabajar en este componente del artículo del carrito. Entonces aquí tenemos que traer efecto Hughes. Y nuevamente, tenemos que traer estas dos cosas. Entonces hay dos cosas que tenemos que traer. Voy a usar aquí también. Así que vamos a traer aquí. Bien, Ahora, vamos a quitar esta. Y voy a usar tu estilo inline. Entonces voy a usar aquí 70 y ver ancho, ¿de acuerdo? Ancho máximo, voy a usar aquí 90, entonces estará dentro del margen de comillas dobles. Te voy a dar un cero pixel y auto. Ahora dentro de este div, voy a tener un div más con el nombre de la clase. Pedir prestado. De nuevo, voy a tener, y otra vez voy a tener un poco de estilo inline. Margen. Arriba. Por lo que serán diez píxeles. Bien, vamos a formatear este. Y dentro de este div, voy a tener un div más con el nombre de la clase. Todo guión guión SM guión a. Este compuesto va a recibir utilería porque estamos difundiendo todo el artículo así. Entonces va a recibir accesorios aquí como identificación, imagen, título, precio y monto. Entonces voy a usar una etiqueta de imagen. En tercer pensamiento, puedo aportar esta imagen y en alternancia, puedo aportar su título. Voy a usar aquí en LastName, image fluid. Y el estilo que voy a usar aquí, ajuste a objetos, portada. Vamos a formatear este. Voy a tener ancho y alto. Voy a tener mi prime solamente. ¿Bien? Ahora, después de esta cinta, voy a tener un día más con la columna guión sm guión dos. Y voy a proporcionar el margen como un utilería. Y aquí voy a tener etiqueta h5. Dentro de esto, voy a tener título. Entonces verifiquemos éste por ahora, ya sea que esté funcionando o no. Entonces vamos al navegador. Entonces ahora puedes ver que somos capaces de mostrar el ítem for junto con el título mediano. Ahora después de esta etiqueta h5, voy a tener una etiqueta h5 más. Y este será el precio. ¿Bien? Y aquí voy a dar algo de color. Entonces el color que voy a usar aquí tiene 61, 70, 98. Bien, veamos cómo se ve. Así que nuestros precios mostrando más todavía. Ahora voy a tener icono aquí, ícono MDB. Y voy a usar todavía font-awesome. Y este será el estilo de icono de borrador que voy a dar aquí ese puntero y color. Sólo te voy a dar un rojo. Y este MDB lo convertí con un auto cerca. ¿Bien? Ahora después de esta mesa, voy a tener un div más con el nombre de clase llamado fn en ellos. Lo encontré. Y nuevamente, voy a usar el IMDB. Aunque sólo puedo. Será como flecha hacia arriba. ¿Bien? Entonces voy a usar aquí alrededor de Chevron. Y podemos eliminar este color no se requiere aquí. Y luego voy a mostrar la cantidad aquí que voy a usar etiqueta p. Y dentro de ella voy a repartir la cantidad. Y les voy a dar una línea si margen de teselas, arriba, será de diez píxeles. Y después de esto, vamos a tener flecha hacia abajo también para básicamente disminuir la cantidad del artículo. Y esto básicamente aumentará la cantidad del artículo. Entonces esto va a estar abajo, chevron abajo. Y creo que eso es todo por ahora. Podemos verificar esta ya sea que esté funcionando o no. Así que entremos en el navegador. Entonces está funcionando. Puedes ver que tenemos flecha arriba, flecha hacia abajo, o alentando o degradando la cantidad del artículo. Entonces ahora aquí tenemos dos. Entonces el monto total también. Tenemos que seguir trabajando en este contenedor de tarjetas dot js file. Entonces después de esto, voy a tener agua. Y vamos a tener una línea horizontal. Entonces en cuanto a la etiqueta. Entonces voy a proporcionar el estilo milenario. Entonces será como mostrar, flexionar y justificar el contenido. Espacio de manera uniforme. Y margen derecho, será de 50 pixeles. Y aquí voy a tener etiqueta de span total total. Y podemos ver aquí cantidad total. Y esto se ingresará en D. Bien, así que pongamos éste dentro de un div. Este div, vamos a tener MDB, btn. Ahora dentro de este MDP con él, voy a pasarles indicaciones, así que color. Será peligro. Al hacer clic, vamos a tener. Entonces definiremos el OnClick más adelante. Entonces, por ahora, eliminemos esta. Y vamos a tener cada ficha. Entonces será ancho uno para celda típica. ¿Bien? Y vamos a tener margen superior. Por lo que será de 50 píxeles. El botón valioso con una tarjeta transparente. También puedes quitar todo el artículo del auto. Así que vamos a guardar este archivo y vamos a entrar en el navegador. Ahora, se puede ver que está funcionando. Y a partir de ahora, la demanda es cero. Este también es cero porque no hemos definido ninguna acción para actualizar todo este valor. ¿Bien? Por lo que ahora comenzaremos a trabajar en cada una de nuestras hidrodisección para aumentar la cantidad o disminuir la cantidad o retirar el artículo del carrito. O si quieres que elimine todos los artículos vienen tarjeta, entonces también puedes hacer eso haciendo clic en este botón. Tenemos que definir la acción para cada operación. Hasta el momento, voy a escribir acción para obtener el total del carrito. Tenemos alguna cantidad por cada producto, así que quería mostrar el total de esta tarjeta. Bien. 33. Proyecto 3 Carro de compras - Cart Total Action: Entonces comencemos a trabajar en nuestra acción del kit de herramientas de redacción. Ahora voy a escribir una acción de kit de herramientas para obtener el valor total del artículo del carrito. Dentro de este reductor. Voy a tener esa reacción redox. Así que vamos a tener un máximo y ligero y obtener el total del carrito, ¿de acuerdo? Uno a tener un estado solamente. Y sin embargo, cuándo definir una variable, enumeraron los elementos. Entonces voy a texturizar la cantidad del hotel y el conteo total. Y voy a usar todavía reducir el método. Así reducir método con Italia ejecutar algún tipo de operación a través todos los elementos de la matriz y producirá un solo valor basado en esa matriz. Así que aquí voy a tener Carrito Total y carrito artículo. ¿Bien? Y luego del artículo del carrito, voy a tener este precio y cantidad. Bien. Después costó artículo, precio total y se los llevó a todos. Así que solo estoy aplicando matemáticas todavía simples aquí para calcular el valor de cuota más ligero. Y luego carro. El monto total es igual a por lo que será más es igual al total. Y lo mismo que voy a hacer para nuestro conteo total también. Entonces carro, total, conteo total y cantidad, ¿bien? Entre aquí no hay más que cantidad, ¿bien? Entonces podemos devolver total. ¿Bien? Ahora tenemos que aportar también el valor inicial. Por lo que el monto total y el total encontrado, será cero, es uno. Y después de eso, tenemos que actualizar nuestro monto total y recuento total. Tomemos nuestro monto total es igual a que voy a jugar un papel en dígito e ir a decirle que arregle. Así que sólo voy a fijar el valor de la cantidad total de 22 decimales. Y no lo es. El recuento total es igual al recuento total. ¿Bien? Por lo que esto se completa. Ahora tenemos que exportar esta const de exportación real. Y relacionará la diapositiva de la tarjeta, el total real de la tarjeta. Ahora podemos usar esta acción aquí en contenedor de tarjetas archivo dot js. Entonces tenemos que usar dentro de nuestro efecto de uso. Y tenemos que primero es hacia la referencia de unidad se divide en una variable de despacho. Entonces sólo podremos desesperar ese acento. Entonces Despacho, consigue carrito, total. Así que el código VS me sugirió automáticamente esta acción redex. Se importará automáticamente. Si no es importante automáticamente para ti, entonces tienes que importarlo manualmente. Entonces vamos al navegador. Ahora puedes ver que somos capaces de ver la cantidad total de este producto, lo cual es correcto. Así que la cantidad total de producto en el sopping cardiaco cuatro. Puedes ver eso aquí, porque inicialmente nuestro carrito la cantidad de artículo es uno, ¿bien? Así que esto está terminado, ¿de acuerdo? 34. Proyecto 3 Carro de compra -Aumentar, disminuir y eliminar acción: Ahora la siguiente acción que tenemos que definir para incrementar el ítem actual. Entonces, si haces clic en esta flecha, se incrementará. Y el precio también se actualizará junto con el valor de este carrito también. Entonces primero definamos la acción para aumentar la cantidad del artículo. Entonces voy a definir acción aquí en gris, la cantidad del artículo del carrito. Entonces aquí voy a haber aumentado y voy a haberme quedado junto con la acción. Y entonces voy a tener un estado punto items, items, dot map. Voy a tener artículo. Y tenemos que verificar si ID de punto del artículo coincide con la carga útil del punto de acción. Carga útil. Nada más que será la identificación. Para que pueda puntear paralelo contendrá la idea que vamos a enviar desde nuestro componente. Entonces si huele y entonces solo tenemos que aumentar la cantidad, ¿de acuerdo? Entonces en ese caso lo que tenemos que hacer, una devolución, sólo voy a extender el ítem y tenemos que simplemente actualizar la cantidad ítem punto m más uno. Y podemos devolver el artículo. Entonces esto se computa. Ahora tenemos que despachar esta acción. Entonces File exporta este. Y podemos usar este dentro de nuestro carrito item dot js file. Así que de nuevo, nos elevamos hacia la diferencia de generalmente dividido en una variable de despacho. Entonces sólo podremos despachar una acción. Entonces este es Chevron arriba. Eso significa que podemos aumentar la cantidad del artículo, el onclick que tenemos que proporcionar aquí. Y voy a disipar ese aumento épsilon. Así que el código VS sugiere automáticamente con esta acción. Y voy a pasar la identificación que estoy recibiendo año otros apoyos de nuestro componente contenedor de tarjetas. Vamos a guardar este archivo y vamos al navegador. Refresca este. Ahora bien, si aumentamos éste. Entonces puedes ver que esto va en aumento, pero nuestra tarjeta y esta cantidad de tarjeta no se está actualizando. Entonces lo que tenemos que hacer, entonces tenemos que hacer básicamente algunos cambios en nuestro efecto de reutilización. Por lo que esta acción siempre conseguirá despacho cada vez que tengamos cambios en la cantidad. Para que podamos pasar los ítems en esa dependencia. Entonces, cada vez que ocurra algún cambio en la matriz de items, entonces esto básicamente será despedido, ¿de acuerdo? Y obtendremos el valor total actualizado del artículo junto con la cantidad total. Entonces entremos al navegador y actualicemos este. Ahora, aumentemos la cantidad. Entonces como se puede ver que se está actualizando. Y sin embargo también se ha actualizado a cinco. Se puede ver que se está actualizando. Ahora lo siguiente, básicamente vamos a implementar la funcionalidad como eliminar el producto de este carrito de compras. Ahora, en la siguiente sección, vamos a tratar retirar el producto de nuestro carrito de compras. Así que podemos probarlo aquí en realidad. Entonces vamos a habernos quitado y vamos a tener un estado junto con la acción. Y estados artículos de punto y artículos de lote de estado. Filtro de puntos. Vamos a tener tu artículo. Y tenemos que escribir aquí lógica básica como si item dot ID no se empareja con la idea que estamos recibiendo de componente, entonces tenemos que guardar todos esos artículos y eliminar esos artículos en particular salen tarjeta de compras. Esto filtrará ese artículo, saldrá tarjeta de compra. Y vamos a exportar este. Ahora, podemos usar esta acción dentro nuestro carrito item dot js file. Entonces aquí vamos a tener onclick. Sólo podemos despachar ese. Elimina el código VS sugiriendo automáticamente con esta sección. Y podemos pasar la identificación. Vamos a entrar en el navegador. Éste. Y si haces clic en este ícono de eliminar, ese será eliminado, el valor del carrito se está actualizando. Este carrito de compras cuantifica también poniéndose actualizado. Entonces esto está funcionando. Eso se puede ver. Entonces ahora lo siguiente vamos a trabajar básicamente en nuestra disminución de la cantidad. Entonces esta funcionalidad tenemos que trabajar. Entonces, si haces clic en esta flecha hacia abajo, entonces la cantidad disminuirá. Y si solo tienes una cantidad, y si volvemos a hacer clic en esta, la flecha hacia abajo, entonces se eliminará de nuestro carrito de compras. Así que también tenemos que encargarnos de esta cosa, ¿de acuerdo? Ahora lo voy a escribir, irrita el acento por disminuir la cantidad. Así que sólo voy a copiar esta. ¿Bien? Será casi idéntico. Nos hacia arriba cosa de combustible de jet. Se disminuirá. Y esta vez hemos querido disminuir la cantidad si se iguala el ID. Y también queríamos hacer una cosa más. Al igual que si solo tienes una cantidad y si acabas de hacer clic de nuevo en esta flecha hacia abajo, entonces se eliminará de nuestro carrito de compras. Así que aquí podemos hacer como filtrados, ¿de acuerdo? Y podemos consultar aquí. Si me vuelvo punto entre, no es igual a cero. Eso significa que si se convierte en cero, entonces se eliminará de nuestro carrito de compras. Digamos que quita esta. Escriba donde sea su exportación este. Vamos a usar esta acción dentro de este carrito item dot js file. Así que aquí podemos usar OnClick. Por lo que se disminuirá. Código de nuevo automáticamente sugerir sin acción. Y voy a pasar la identificación. Y tenemos que básicamente camino dentro del despacho. Bien, así que sólo voy a cortar esta. Y voy a poner en tercer lugar y despachar. Entonces sólo funcionará. Vamos al navegador. Refresca este. Incluyamos éste. Vamos a graduar este. Da click en éste. Se está actualizando. Esto también dictará actualizarse también. Y si vuelves a hacer clic, entonces este artículo se eliminará de nuestro carrito de compras. Entonces esto también está funcionando. De esta manera. También puedes eliminar los artículos de la tarjeta de intercambio. Ambos estaban trabajando. Dicen hecho. Ahora tenemos que trabajar en esta tarjeta transparente. Si acaba de hacer clic en esta tarjeta transparente, entonces se eliminará todo el artículo. 35. Proyecto 3 Carro de compras - Acción del carrito vacío: Entonces ahora voy a escribir una tarjeta de datos de entrada de barra de fracciones, ¿de acuerdo? Por lo que puede tener tarjeta clara clara. ¿Bien? Bueno, no tener un estado y un estado puntean artículos a dos. Bien. Vamos a exportar esta acción. Tarjeta tan clara. Y tenemos este botón dentro de nuestro contenedor de tarjetas. ¿Bien? Entonces podemos tener un método onclick y podemos mostrar esa tarjeta de acción clara. Bien. Código soviético otra vez, automáticamente me sugirió esta reacción redox. Vamos a guardar este archivo y vamos a entrar en el navegador, leer verificar este. Esta, da clic en esta tarjeta transparente. Entonces ahora nuestro partido cartesiano, y si el carro está vacío, entonces, entonces no quiero que así que esta cosa, bien, así que quería nadar. Digo como tu carrito de compras en la entrada. Entonces aquí podemos verificar como si los artículos longitud del punto es igual a cero, eso significa que tenemos un artículo cero en el carrito. En ese caso, quería volver como tu top codificaba la entrada t. Voy a usar la etiqueta h3 con el nombre de la clase. Y voy a tener más clase y sin embargo algo de margen. Los cuatro primeros, ¿de acuerdo? Y podemos darte como si estuvieras ayudando. Y voy a usar tu icono. Voy a ser por lo general span tag. Y voy a tener el ícono de MDB. Y luego tercero es que puedo, voy a usar algún icono. Y puedo ser como ir de compras Heisenberg. Y después de esta etiqueta span, voy a seleccionar la entrada D. Se puede ver que somos capaces de ver este método. Y me preguntaba agregar un botón aquí para obtener todos los artículos de la tarjeta. Entonces, si quisieras jugar más alrededor de esta aplicación, también puedes comenzar desde cero nuevamente ajustando toda la carta desde la puntera irlandesa. Entonces podemos tener un botón aquí después de esta etiqueta h3. Entonces MDB, btn. Y va a estar teniendo buenos artículos para la pierna. Y el nombre de la clase. Yo también te voy a dar un guión mx. Bien. Y veamos cómo se ve nuestro botón. Está bien, bien. Ahora, tenemos que escribir una sección básica de lectura para obtener todo el carrito de nuestra tienda. Entonces aquí voy a escribir unas reacciones redox básicamente para obtener todos los artículos. ¿Bien? Podemos intentar la detección. Y por suerte podemos hacer como un punto de estado los elementos es igual a los datos. ¿Bien? Y podemos exportar esta acción. Consigue artículos a la carta. Podemos usar detección dentro de este contenedor de tarjetas dot js file. Y aquí podemos usar el método on-click. Podemos disipar esa. Despacho, consigue artículos de guardia. Vamos a guardar este archivo. Y entremos en el navegador. Ahora, vamos a hacer clic en esta tarjeta clara. Ahora independientemente, mis tres como si estuvieras parando por conseguir amigo. Y si hacemos clic en este elemento de la cuadrícula, recuperarás todo tu ítem que tengamos en nuestro archivo data dot js. Para que de esa manera también puedas jugar alrededor de esta aplicación. Se completa la funcionalidad. Se puede ver que todo está funcionando como se esperaba. 36. Carro de compras del proyecto 3 - Persiste el valor del carrito con Redux-Persist: Lo último se deja claro si estás haciendo referencia a esta obligación. Entonces quería persistir todo el valor como total junto con este valor y este valor. Entonces vamos a utilizar aquí para persistir todo el valor de la tarjeta. Entonces, si has leído este por ahora, se restablecerá. Entonces queríamos terminar el valor de la tarjeta. Entonces vamos a usar root x, proceder con el kit de herramientas del lector. Entonces chicos, ahora voy a configurarlo. Los rechazos persisten en esta aplicación React. Entonces lo que puedo hacer aquí, primero, tenemos que traer un almacén. Entonces ya hemos instalado este paquete al principio. Y también necesitamos Reductor número que es persistir. Persistir un reductor. Y necesitamos combinador, reductor de nuestro redox. Entonces traemos esto combinado hoy de Madrid x. Ahora, tenemos que escribir aquí persistir configuración, persistir conflicto. Tenemos que darle un papel clave en la versión uno. Y tenemos almacenamiento de dos partes. Ahora tenemos que usar este reductor combinado. Reductor es igual a combinar borrador. Y podemos estar regulados tarjeta esta. Y puedes pegar aquí. ¿Bien? Y entonces hay que persistir nuestro reductor. Por lo que el reductor persistido es igual a persistir reductor. Tenemos que pasar la configuración, esta configuración, y luego tenemos que empacar el reductor. Y aquí podemos usar esta. ¿Bien? Ahora tenemos que hacer también algunos ajustes dentro de este archivo index.js también. Entonces aquí lo que tenemos que hacer, así de redex persisten, necesitamos traer persistir una tienda. Y tenemos que importar persistir Y puerta también. Prueba Redux PR. Tenemos que ir a la integración y reaccionar. Y será persistir. Ahora después de eso, optamos por usar esto, pero esto puede conseguir, tenemos que envolver nuestro componente con la puerta Y comprada, luego persistir. Y aquí tenemos que usar led a la tienda. Y podemos pasar aquí son dos. ¿Bien? Y podemos proporcionar todavía practicado. Entonces, guardemos este archivo y verifiquemos éste en el navegador. Refresca este. Entonces no tenemos ningún problema. Entonces vamos a realizar todas las operaciones. Entonces esto está funcionando. Entonces total está levantando detalles. Este también está mejorando. Ahora, permítanme refrescar esta aplicación. Así se puede ver que después de reemplazar nuestro valor r se está consiguiendo persistir por aquí. Por lo que el valor total también está consiguiendo persistir. El cuantitativo también consiguiendo persistir y cantidad total en el auto también consiguieron persistir. Por lo que hemos logrado persistir el valor de la tarjeta también en esta aplicación. Ahora espero que hayas entendido la funcionalidad del carrito de compras con la ayuda del kit de herramientas Verita en esta aplicación React. 37. Aplicación de blog de Project 4 - Demo: En esta sección. Primero, vamos a cubrir algún concepto básico sobre el kit de herramientas Redux construyendo esta sencilla aplicación de blog en la que el usuario puede publicar un blog o al usuario le puede gustar o no a un blog en particular Con la ayuda de esta aplicación, vas a tener alguna idea básica sobre cómo trabajar con el kit de herramientas reduct en una aplicación de reacción Para este proyecto, vamos a utilizar un código de inicio para construir esta aplicación usando el kit de herramientas reduct Te veo en el siguiente video donde hablaré del código de inicio. Además, te daré el breve resumen sobre el código de inicio que vamos a utilizar en esta sección. Eso es, de esta parte de introducción. Te voy a ver en el siguiente video. 38. Aplicación de blog de Project 4: descripción general del código: Chicos, es hora de comenzar a trabajar en nuestro primer proyecto con el kit de herramientas rojo. En esta fuerza para este proyecto que vamos a construir, Rehacer kit, he proporcionado un código fuente el cual se adjunta a esta conferencia Puedes encontrar que el código fuente de este proyecto de inicio antes que sigamos adelante y escribamos algún código, déjame darte una breve descripción sobre este código de inicio. He creado este proyecto usando esta plantilla reductora. No tienes que hacer este paso. Ya he proporcionado el código fuente que se adjunta a esta conferencia. Volvamos al código VS. Se puede ver que tengo uno como archivo. También tengo uso aquí bootstrap, para que podamos evitar escribir código CSS. En el lado izquierdo, tenemos un formulario de bloque a partir del cual podemos publicar nuestro blog. En el lado derecho, estoy renderizando la lista de blogs que es enviada por este formulario de blog. Por el momento, solo tenemos una rúbrica. Si vuelvo al navegador, puedes ver que en el lado izquierdo tenemos forma de bloque y lado derecho tenemos una lista de blogs en que voy a renderizar todos los blogs. Volvamos de nuevo al código VS. Aquí tenemos el archivo JS índice. Tenemos app y función en app, tenemos una configuración de tienda. Por el momento, no tenemos ningún reductor. Esto está vacío. Tenemos una carpeta de características en la que tengo una carpeta de bloques en la que tengo formulario y lista de blogs. Bien, Esta es una forma muy básica la cual he escrito aquí para que el usuario pueda publicar el blog. Aquí, acabo de proporcionarte el código fuente de este archivo para que podamos enfocarnos más en aprender el concepto de kit de herramientas rojo. Aquí tenemos una forma muy básica. Tenemos un desplegable para seleccionar usuario. Tenemos campo de entrada para el título, y tenemos un cuerpo para nuestro blog. Ahora también tenemos una lista de blogs. Bien, entonces por el momento, estoy renderizando los dos bloques de este propio componente. Bien, aquí también tenemos un usuario de blog. También vamos a mostrar que este blog es creado por qué usuario? Bien. Por el momento es simplemente sencillo, bien. Y tenemos un botón de respuesta aquí. Básicamente te puede gustar o a diferencia del blog, este es un componente muy básico. Ahora volvamos a este archivo GS índice. Básicamente, estamos aportando la tienda a nuestra app para que nuestro componente pueda acceder al estado, que vamos a definir en nuestra tienda. Antes, ya te he informado que en este proyecto voy a usar un bootstrap versión cinco. Ya he escogido el CDN o el bootstrap versión cinco, para que podamos evitar escribir en este proyecto Ahora hablemos de este paquete, archivo Json también. Aquí tenemos este kit de herramientas reduct y react reduct, que es importante para trabajar con el kit de herramientas reduct en una Ya tengo esta dependencia dos. Cada vez que configuras un proyecto de reacción con este comando, cada vez que creas un, cualquier proyecto de reacción con este comando, vas a obtener esta dependencia de dos junto con eso. Eso es React Reduct y Reduct Tool. Se trata de la visión general de este proyecto de inicio de bloques. 39. Aplicación de blog de Project 4 - Blog Slice: Ahora comencemos a trabajar en esta sencilla obligación de blog. Primero, voy a crear una porción aquí que será como blogs. Liz, voy a importar rebanada de diapositiva roja. Básicamente se utiliza para definir nuestro estado inicial y acción y reductor. Para ello, estamos creando una rebanada, crear rebanada. Tenemos que traer después de eso, lo que tenemos que hacer aquí, tenemos que definir una rebanada de bloque. Podemos usar esta porción de creación que no puede ser objeto, y tenemos que definir un nombre de porción. Voy a dar un nombre de porción aquí, bloque, vamos a tener estado inicial. ¿Bien? Entonces déjame definir un estado inicial aquí, solo a partir de este archivo JS de lista de bloques. Sólo voy a cortar esta, ¿de acuerdo? Y yo sólo voy a pegarlo por aquí. Déjame renombrar a estado inicialmente. Bien, tenemos nuestro estado inicial, ahora vamos a tener un reductor en el que vamos a escribir una acción en este momento, que sea mascota. Déjame exportar este lider de bloque de fallas. Estamos exportando este reductor. Vamos a enganchar este reductor en nuestra tienda archivo Js. Bien, déjame volver a esta carpeta de aplicaciones de aquí. Voy a traer ese reductor de bloque. Reductor de bloque aquí. Tenemos que ir a esta característica carpeta y bloques y tenemos que usar este archivo. Ahora podemos enganchar nuestro reductor en este objeto reductor. Entonces bloques, podemos dar cualquier llave, lo que quieras. Entonces estoy cediendo bloques, solo podemos asignar bloques. Reductor. Vamos a guardar este archivo aquí. Todo está bien, supongo, Bien. 40. Aplicación de blog de Project 4: crea blogs con useSelector: Ahora vamos a este archivo de lista de blog aquí. Primero, voy a traer un selector de react reader. Porque necesitamos seleccionar el estado que hemos definido en este blog mentiras. Para ello, necesitamos, vamos a traer aquí selector. Entonces podremos tener nuestros blogs blogs a selector. Aquí podemos acceder a nuestro bloque todo desde este bloque estatal porque nuestro reductor está registrado con los bloques clave aquí. Bien, ahora tenemos todos nuestros bloques. Bien, estamos usando esta función de bloque de render para renderizar todo el blog. Tenemos contenido de título de identificación. Bien, usuario de Blog. Entonces por el momento no tenemos ningún usuario básicamente. Bien. En esta vida se puede ver que sólo va a hacer que el usuario desconocido esté bien. Escribiremos la lógica para la carta de usuario en este proyecto. Primero, centrémonos en rentar el blog En nuestra aplicación, obtuvimos este blog de nuestra tienda y estamos renderizando el blog usando esta función. Vamos a este archivo de aplicaciones y eliminemos este encabezado codificado por arte, y voy a traer el componente de lista de blogs. Bien, entonces déjame guardar este archivo, entremos ahora al navegador. Aquí puedes ver que tenemos nuestros dos bloques que hemos definido en este bloque vuela js file. Bien, tenemos este bloque inicial de dos. Esta parte se completa, donde hemos aprendido a seleccionar el estado de la tienda. Esta parte ya terminó. 41. Aplicación de blog de Project 4: crea un selector de blogs: Ahora antes de seguir adelante y usar este componente, necesitamos hablar de este enorme selector. Porque ahora mismo recibió el estado y después conseguimos bloqueo estatal. Pero si la estructura de nuestro estado cambia como en este momento, este componente debería saber algo sobre estado necesitamos saber que vamos bloque estatal, podría ser blog estatal, otra cosa en el futuro. Sería mejor si creamos selector en el slice y luego lo exportamos. De esa manera si la forma del estado alguna vez cambió en el futuro, no tenemos que pasar por y cambiar cada componente. Podríamos cambiar una vez en la diapositiva. Hagámoslo en nuestras rebanadas de bloque aquí. Vamos a crear un seleccionado, voy a exportar ese archivo. Exportar, seleccionar todos los bloques. Vamos a tener una función anónima que va al estado A. Esto va a ser bloques estatales, ¿de acuerdo? Ahora podemos traer este selector en este archivo JS de lista de bloques. Déjame traer esa de cuadra mentiras. Tenemos que seleccionar todos los bloques aquí. Solo podemos pasar, seleccionar todos los bloques. ¿Bien? Vamos a guardar este archivo. Vamos al navegador. Esto sigue trabajando con ese enfoque. La parte selectora también se completa en esta aplicación. 42. Aplicación de blog de Project 4: crea acción para agregar blogs: Ahora vamos a seguir adelante y crear función reductor o agregar el blog en nuestra aplicación. Voy a agregar acción aquí dentro de este objeto reductor. Vamos a tener un blog. Bien, va a tener una acción estatal, podemos hacer algo como esto. Estado, empuje y acción hacen carga útil aquí, acción hacer carga útil. Básicamente la información sobre nuestro blog que básicamente contiene título, cuerpo e ID de usuario. Esta es nuestra acción que hemos traído en nuestro objeto reductor. Ahora vamos a hablar de este empuje estatal en un segundo porque si estás suficientemente familiarizado con la reacción, no solemos mutar un estado Y ese empuje de puntos lo haría en una matriz. Hablaremos en un momento. Permítanme primero exportar esta función. Vamos a tener un blog mentiras acción aquí crea mentiras. Básicamente generar un acento creado con el mismo nombre que hemos definido aquí. Eso es en el blog. Va a generar automáticamente el creador de acento. 43. Aplicación de blog de Project 4: entiende el rol de js de inmersión: Ahora hablemos de este empuje estatal que hemos escrito por aquí. Generalmente acostumbramos a escribir un estado como difundir el estado. Entonces tenemos una carga útil de acción como un nuevo elemento en lugar de empuje de estado pero uso del kit de herramientas de lectura emerge bajo el capó que le permite escribir su script Java así Donde normalmente estarías mutando el estado. Pero no está mutando. El estado emerge, crea nuevo estado por debajo. Ahora nos damos cuenta de que esto solo funciona dentro de create slice, donde más en tu aplicación aún necesitas usar la forma adecuada de no mutar el estado Sin embargo, en el interior crea mentira. Puedes usar empuje de estado y puedes directamente el estado de otras maneras así emerge manejará eso Hace que sea más fácil de manejar dentro de aquí. 44. Aplicación de blog de Project 4: acción de envío para agregar blogs: Entonces, avancemos y utilicemos esta acción en nuestro componente de forma. Vamos a esto en el archivo de formularios de bloque. Vamos a utilizar esta acción que acabamos de crear. Ahora en nuestro sector de blog, ya tenemos una forma básica por aquí. Eso se puede ver por ahora. Sólo voy a encomiar este desplegable. Centrémonos en publicar el blog con título y cuerpo. Tenemos on E on Summit en que acabamos de prevenir default, tenemos este cambio de mango para básicamente rastrear el estado de cada campo. Es decir que tenemos por aquí como entrada y área de texto. Y vamos a escribir una lógica para enviar el blog en esto solo en cumbre. Entonces primero tenemos que traer un despacho enorme. Bien, entonces tenemos que traer un despacho enorme de un rojo. Para despachar una acción, despacho enorme, tenemos que almacenar la referencia de despacho enorme en una variable de despacho. Tenemos que almacenar la referencia de este enorme despacho en esta variable de despacho que podamos despachar una acción. Ahora aquí lo que tenemos que hacer primero aquí, sólo voy a comprobar como si tenemos el título entonces vamos básicamente a despachar despacho. También tenemos que llevar la acción. Vamos a traer la acción también. De nuestro blog yace un blog que he traido aquí. Podemos despachar aquí como un blog. Aquí tenemos que proporcionar primero la identificación. Voy a usar un nano ID de red toolkit folk necesitamos básicamente una identificación única para ese propósito. Para traer un kit de herramientas de conductos de nano ID, cada bloque debe contener un ID único. Aquí podemos usar nano ID y eso será con paréntesis Ahora podemos soportar título. Y después de eso, queríamos básicamente borrar cada campo de entrada, es decir, título y body set form. Hagámoslo vacío. Este título, campo de entrada y exterior de carrocería. Después de enviar el blog, vamos a comprobar si está funcionando o no. Entremos al navegador. Y aquí me he olvidado de traer el componente en nuestra app dot archivo JS. Permítanme traer el componente agregar forma de bloque. Ahora entremos en el navegador. Hay algún problema con el estilo. Déjame ver qué está pasando. Necesitamos agregar estilo en nuestro archivo CSS de punto índice. Sólo voy a pegar styling. Este estilo básico tenemos que agregar en nuestro archivo de índice. No te preocupes, este estilo siempre presente en tu estrella. No tienes que preocuparte por esa parte. Guardemos este y entremos en el navegador. Bien, bien, déjame reformular la aplicación. Se ve bien. Ahora tenemos que publicar nuestro primer blog despachando esta acción que aquí hemos definido Bien, en nuestra cumbre. Veamos si está funcionando o no. Déjame solo dar prueba. Bien, déjame ¿qué está pasando? Vamos a hacer clic en Enviar. Tenemos algunos vamos, bien, déjame ver qué está pasando aquí. Será Contenido Corporal. Asegúrate de cambiar este de contenido a cuerpo. Ahora entremos al navegador y reflejemos esta aplicación. Todavía estamos recibiendo el tema. Será cuerpo no contento. Bien, vamos a guardar esta. Entremos al navegador. Ahora tenemos nuestros dos post, bien, vamos a cerrar este. Publiquemos nuestro blog con la acción que acabamos de crear en nuestros blogs mentiras. Vamos a darle una T. Vamos a dar clic en Enviar. Se puede ver que esto está funcionando. Así que hemos logrado agregar un blog sencillo con nuestra acción que acabamos crear con la ayuda del kit de herramientas. 45. Aplicación de blog de Project 4: usa Prepara llamadas: Ahora nuestro formulario está funcionando a la perfección. Pero podría ser mejor. Hablemos de eso, porque ahora mismo necesita conocer los detalles sobre el estado. Una vez más, para poder enviarlo correctamente, tiene que enviar un objeto correctamente formateado. Y será mejor si pudiéramos atraer algo de eso. No queremos duplicar este tipo de lógica en cada componente que publique en nuestro estado global. En cambio, podemos manejar esto de nuevo en nuestra mosca con un Callback de preparación Y Prepare Callback puede generar ID único formatear los datos, devolver el objeto con carga útil Y eso es básicamente lo que estamos haciendo aquí. Esto realmente simplificará nuestro componente y se encargará de todo una vez más, vuelta en la rebanada, vamos al Slice aquí. Tenemos que modificar nuestro blog de anuncios. Lo que podemos hacer por aquí, déjame cortar esta de aquí. Vamos a tener un reductor. Bien, vamos a tener, de nuevo, lo mismo. Eso es estado y acción. Podemos simplemente hacer como estado, empujar con acción. Carga útil. Acción, carga útil. Aquí podemos definir nuestra llamada de preparación. Ahora podemos pasar el título y el cuerpo. Entonces podemos devolver objeto formateado. ¿Bien? Y va a regresar con la carga útil. Carga útil de nuevo, vamos a tener ID aquí. Nuevamente, necesitamos traer aquí nano ID. Vamos a traer nano ID, kit de herramientas rojo. Entonces podremos tener nuestro título y cuerpo. Bien, pero nos falta algo por aquí. Forma y algo que nos falta. Déjame revisar aquí. Tenemos que quitar supongo las dos cosas. Bien, y para regresar, tenemos que usar esto. Mi llamado creo que para Esto está bien. Cheque. Bien, esto también se ve bien y aquí tenemos que agregar uno más. Bien, entonces déjame formatear este ahora. Está bien. Se puede ver que aquí pasamos el título y el cuerpo que obtendríamos del componente y luego devolvió la carga útil de acción ya que necesita ser formateada. Hemos regresado por aquí y luego tenemos una carga útil donde definimos ID con nano ID junto con el título y el cuerpo. Hemos modificado nuestra porción con la llamada de preparación. Ahora tenemos que ajustarnos también a la cosa en nuestra forma de bloque. De aquí podemos quitar este objeto y podemos simplemente pasar y cuerpo el resto de la cosa manejará en nuestra rebanada con este prepare call back que acabamos de definir por aquí. Bien, volvamos a este formulario. El beneficio aquí es que nuestro componente una vez más, ni siquiera tiene que conocer en absoluto la estructura del estado. Ahora, todo se maneja dentro del tobogán. Podemos simplemente enviar los datos brutos que necesitamos. Probemos este en nuestro navegador. Voy a volver a mi navegador otra vez. Reflejemos esta aplicación. Vamos a dar alguna prueba de título, Test it Summit. Ahora se puede ver que esto está funcionando. Con esta devolución de llamada de reparación, podemos publicar con éxito nuestro blog. Esta parte se completa aquí. Básicamente simplificamos o codificamos un poco en nuestra rebanada. Ahora ya terminamos con esto y podemos eliminar éste. No necesitamos a NanoDCEO. Ya necesitamos el ID para crear blog porque todo se maneja dentro de nuestro sector. Vamos a deshacernos de esto. 46. Aplicación de blog de Project 4: herramienta de desarrollo Redux: Ahora antes de seguir adelante y en la parte donde vamos a seleccionar del menú desplegable, solo hablemos del rehacer Déjame volver al navegador, refrescar esta aplicación. Primero, voy a abrir una herramienta Redcap. Puede instalar la extensión de la herramienta de cinta adhesiva en su navegador. Voy a abrir a mi derecha. Bien, déjame refrescar esta aplicación. Aquí puedes ver que el estado de nuestra aplicación, conseguimos este bloque de dos en nuestro estado inicial. Y se puede ver el estado en un formato diferente como gráfico. Se puede ver en el gráfico. También puedes ver en el formato raw tienes un formato diferente, diferente para ver el estado de nuestra aplicación. rojo básicamente se usa para rastrear el estado de la aplicación y también puedes rastrear la acción que vas a disipar Intentemos volver a agregar un bloque. Sólo voy a volverte a hacer una prueba. Veamos, Opto, puedes ver que hemos despachado nuestra acción de blog de anuncios en el depo rojo También puedes rastrear el despacho de acción. Conseguimos esta acción. Bien, ahora tenemos tres blogs. En nuestra aplicación, se agrega este blog. Puedes ver que este nuevo blog se agrega en nuestra tienda. También puedes calcular la diferencia aquí. Bien, este nuevo blog se agrega en nuestra tienda. Esta es una acción que acabamos de enviar pulsando el botón Enviar. Se trata de la descripción básica de herramienta Reduct Tap y cómo usar esta herramienta de reducción siempre que esté usando reduct en una aplicación de reacción Ahora, voy a minimizar esta. 47. Aplicación de blog de Project 4: crea una sección de usuario: Ahora voy a empezar a trabajar en la parte del usuario en esta aplicación para que usuario pueda seleccionar al usuario del menú desplegable mientras presenta el blog. Voy a tener una carpeta más dentro de estas características. Voy a tener una carpeta como usuarios, vamos a tener una mentira, mentiras como, de nuevo, necesito crear slice a partir de Reduct toolkit Resaltemos de la rebanada del kit de herramientas Reduct. Entonces sólo voy a colocar el estado inicial. Vamos a tener algún usuario predeterminado para que puedas seleccionar del menú desplegable de usuarios Ahora después de eso, vamos a tener un slice de usuario. Vamos a proporcionar el nombre de la rebanada. Será, podemos pasar su estado inicial. El reductor será el objeto vacío. Ahora de nuevo voy a crear un selector aquí para el usuario exportar seleccionar todo. Vamos a tener una función anónima. Será estado y estados. Entonces podemos exportar el reductor predeterminado de exportación. Entonces podemos conectar este reductor en nuestra tienda. Vamos a este archivo de tiendas. Sólo puedo copiar esta, esta declaración de importación. Este será usuario, vendrá de mentiras. Tenemos que cambiar toda la parte. Vendrá de la carpeta de usuarios y luego los usuarios rebanan. Aquí estará, y los usuarios reductor. Terminamos con el slice de usuario en esta aplicación. 48. Aplicación de blog de Project 4: incluye usuarios en Dropdown: Ahora volvamos a esta forma de bloque. Aquí tenemos que traer primero a todos los usuarios. Tenemos que traer selector también. Aquí podemos tener nuestro todo usuario, bien, podemos traer el selector que acabamos de definir en este slice. Vamos a traer esto seleccionar todo el código VS de usuario va a importar automáticamente para mí. Bien, no es importar en tu caso, así que tienes que importarlo manualmente. Ahora tenemos todos los usuarios, bien, podemos simplemente descomentar esta línea de código aquí Lo que tenemos que hacer, vamos a tener una opción. Opción. Queremos a todos los usuarios, podemos mapearlo. Vamos a hacerlo, tener una opción será como usuario. Podemos clavar aquí un usuario de valor. Después dentro de este nombre de usuario. Vamos a usar esta opción de usuario aquí. En el desplegable aquí, podemos tener opción de usuarios. Veamos si podemos ver al usuario o no en el desplegable. Volvamos al navegador. Aquí tenemos a nuestros tres usuarios que hemos definido en nuestra vida de usuario, Eso es John Doe, Nancy y James Bond Esta parte está hecha, pero aún así tenemos que hacer alguna modificación también antes de publicar nuestro nuevo blog con estos últimos cambios. 49. Aplicación de blog de Project 4: modifica la acción y prepara la devolución de llamada: Qué cambios tenemos que hacer aquí. Entendamos que uno, mientras agregamos el bloque, también vamos a pasar al usuario. Bien. Aquí lo que vamos a hacer, puedes ver que para desplegable estamos usando aquí, handle, user, handle user básicamente va a restaurar al usuario, ok, va a restaurar el ID de usuario Como se puede ver que aquí en manejar la función de usuario. Pasemos aquí también el ID de usuario. Debido a que inicialmente estado hemos definido tres cosas como cuerpo del título y el ID de usuario para nuestro formulario de blog, estamos pasando este ID de usuario ya que tenemos esta parte de acción mientras despachamos este bloque de anuncios, hemos agregado un argumento más, es decir, ID de usuario, como qué usuario básicamente está publicando el blog También tenemos que modificar o preparar función de devolución de llamada que hemos definido en el blog li, vamos a entrar en ese archivo Déjame volver a ese archivo que es rebanada de blog. Entonces ahora va a recibir el ID de usuario. Bien. Por lo que el ID de usuario va a recibir y será ID de usuario. Bien. Por lo que tenemos modificar nuestra llamada de preparación. 50. Aplicación de blog de Project 4: muestra tu blog con el usuario: Ahora tenemos que hacer también algunos cambios en nuestro componente de usuario de blog. Bien, por el momento solo está mostrando al usuario desconocido. No estamos mostrando el nombre de usuario. Bien, antes de hacer eso, volvamos a este archivo de lista de blogs. Aquí. Se puede ver que estamos pasando el ID de usuario. Estamos mapeando cada bloque que estamos recibiendo de nuestra tienda. Y estamos pasando el ID de usuario aquí, bien, a este componente de usuario de blog. Podemos mencionar este ID de usuario aquí. Bien, después de eso, lo que tenemos que hacer, tenemos que traer el primer selector de React Reader. Debido a que necesitamos encontrar qué usuario básicamente está publicando el blog, necesitamos primero que todos los usuarios que tenemos en nuestro sector de usuario seleccionen primero. Entonces necesitamos antes que nada, todo el selector de usuarios. Y podemos pasar aquí el selector que tenemos definido en el sector de usuario, seleccionar todos los usuarios puerto puerto automáticamente para mí. Entonces después de eso podemos escribir aquí una lógica básica. Necesitamos encontrar ese usuario en particular que podamos usar aquí todos los usuarios encuentran que vamos a tener cada usuario, ya estamos recibiendo el ID de usuario de nuestro componente de lista de bloques. Será como punto ID. Y si el ID es coincidente, entonces vamos a agarrar a ese usuario y vamos a mostrar el nombre. Lo que tenemos que hacer por aquí, vamos a quitar éste primero. Si tenemos el usuario, entonces nombre de usuario L, será usuario desconocido. Bien, vamos a guardar este archivo. Vayamos también a este archivo js del formulario de bloque de anuncios. Aquí. También voy a vaciar el campo desplegable, ID de usuario, y estará vacío después de enviar el blog Antes de publicar un blog con todos estos cambios, quería desactivar el botón Enviar hasta que todo el campo fuera llenado por el usuario. Lo que puedo hacer, puedo tener uno es llenar. Se va a comprobar si cada campo de entrada tiene algún valor o no. Podemos usar tu título de lingotes Lingotes, será lingotes de cuerpo, será ID será Este botón se desactivará. Si alguna entrada archivada queda vacía, solo podemos verificar esta. ¿Bien? Veamos si está funcionando o no. Tenemos que volver al navegador. Reformular este Voy a seleccionar un usuario aquí, John Doe. Demos una prueba de título. Demos una prueba corporal. Ahora puedes ver que este botón consiguió después de enviar el valor en cada campo de entrada. Vamos a hacer clic en Summit. Ahora puedes ver que esta vez también tenemos el nombre de usuario. Ese es John Doe. Bien, esta parte también se completa por aquí y puedes ver que también hemos podido publicar con éxito podido publicar con éxito un blog con el nombre de usuario. Aquí terminamos con la selección del usuario y publicamos el blog con el nombre de usuario específico. 51. Aplicación de blog de Project 4: acción Redux para gustar o no: Sigamos adelante y trabajemos en el resto de la funcionalidad que tenemos en la aplicación. También tenemos que implementar la funcionalidad como y disgusto Siempre que el usuario haga clic en el botón Me gusta o no me gusta, va a aumentar Trabajemos también en esa característica. Con el kit de herramientas reduct, necesitamos escribir una función reductora para eso Y antes de escribir una función reductora, modifiquemos de nuevo la llamada de reparación. Se puede ver que en estado inicial tenemos un objeto de respuesta y diferencia vamos a tener lo mismo en la llamada de reparación también. Primero, vamos a dar respuesta, ¿de acuerdo? Y será como inicialmente, será ero, todo el conteo será cero. Ahora, cada vez que un usuario creó un blog, vamos a guardar este. Ahora comencemos a escribir una función reductora para que le guste o no me guste la p. voy a tener aquí respuesta agregada función reductora que es responsable de o no gustar el ping una acción de estado de la carga útil de acción Vamos a recibir dos cosas. Siempre que un usuario despache una acción mientras le gusta o no le gusta el P va a recibir el ID del blog y la respuesta Se puede ver que este componente aquí tiene un nombre y emoji que he usado por aquí como entrada de objeto. Debido a que este es un objeto y estamos mapeando sobre él, este nombre es clave y mog es valor Vamos a pasar dos cosas, es decir qué bloque nos está gustando básicamente y la imagen. Trabajaremos más adelante en este componente. Primero, trabajemos en esta carga útil de facción de función reductora Vamos a recibir dos cosas, es decir, ID de blog y respuesta. Tenemos que revisar el blog existente en estado. Tenemos nuestro todo blog state find, vamos a tener blog primero. Tenemos que coincidir básicamente con el blog, qué blog básicamente nos está gustando, disgustando. Primero, tenemos que agarrar blog particular y aquí podemos dar este ID de blog. Si tienes el blog existente, entonces respuesta de blog existente. Aquí, respuesta aquí, básicamente vamos a incrementar, ¿de acuerdo? 52. Aplicación de blog de Project 4: muestra cómo te gusta/no te gusta/no: Lo que tenemos que hacer a continuación. Cosa que necesitamos traer primero despacho enorme de react reducts, despacho enorme Aquí necesitamos primero la referencia de despacho en una variable de despacho. Este componente también va a recibir un blog. Bien, De nuestra lista de blogs. Bien. Se puede ver que por el momento no estamos pasando nada. Pasemos su blog y solo podemos bloquear en particular. Bien, ahora este componente de botón de respuesta está recibiendo el blog en particular. Aquí lo que podemos hacer al click, básicamente podemos despachar un despacho de acción. Podemos llevar la acción. Nosotros hemos creado la acción, pero supongo que no hemos exportado. Exportemos este. Bien. Ahora volvamos a este botón de respuesta aquí. Primero, tenemos que traer esa. Tenemos que traer esa función reductora de función blog slice. Tenemos que traer respuesta agregada. Entonces podemos despachar esta respuesta agregada. Tenemos que pasar dos cosas. Es decir, primer ID de blog, ya estamos obteniendo de este blog blog dot ID. Será, es decir, tenemos que mostrar también el conteo. Hagámoslo. Una respuesta de blog y podemos pasar aquí nombre. Entremos en el navegador y veamos si está funcionando o no. Primero, refiérase éste. Ahora se puede ver que inicialmente conseguimos el conteo cero. Bien. Si haces clic en este , no va a incrementarse. Déjame ver qué está pasando. Podemos despachar una acción o no. Primero, veamos que una acción no está despachando en absoluto En realidad, tenemos escribir esta función reductora fuera de este objeto reductor, ¿de acuerdo? Se está cerrando aquí. Tenemos que escribir aquí en realidad. Bien, éste. Y pegarlo por aquí. Refresca este primero. Esto está funcionando, ¿de acuerdo? Como se puede ver que esto se está incrementando. Agreguemos un blog aquí con Nancy. Vamos a darte una prueba. Vamos a copiar éste. Vamos a enviar, veamos si podemos dar me gusta o no a este blog recién creado. Esto también es trabajo. Puedes ver que nuestra funcionalidad también está funcionando en esta aplicación. Con la ayuda del lector tomó. Parece que todo está funcionando en esta aplicación de blog Imple 53. Resumen: Si estás viendo este video, eso significa que has completado con éxito este curso y espero que tengas una comprensión completa sobre cómo trabajar con reduct toolkit en la aplicación React. Después de eso, también podrás integrar redact toolkit en cualquier reaccionar existente rechazado. Y también puedes convertir esos proyectos React en los que el viejo código Redux utiliza esos proyectos que puedes convertir fácilmente en Reduction Toolkit. Eso es todo desde mi final. Si tienes alguna consulta o punto, entonces puedes poner tu consulta en la sección de comentarios. Voy a intentar mi nivel mejor para resolver su consulta. También puedes visitar mi canal de YouTube para obtener más contenido sobre reactivo o producto que puedes adquirir más conocimientos sobre React y editor el jueves, siempre puedes visitar mi este oficial Canal de YouTube para más grieta de un reactivo. Y si miras mi lista de reproducción, tengo una deuda pose diferente, diferente en un React. Tengo algún proyecto principiante, proyecto reduct. También los he construido aplicación clon, y también tengo una aplicación full-stack. Entonces chicos, siempre pueden visitar mi canal oficial de YouTube para más de un reactivo Redux. Eso es todo desde mi final. Muchas gracias chicos por tomar este curso. Te veré en otros cursos.