Curso de React desde cero: Crea un videojuego y una aplicación para aprender useState y useEffect

Поделиться
HTML-код
  • Опубликовано: 24 июл 2024
  • ¡Aprende a usar useState y useEffect desarrollando el videojuego de 3 en raya!
    Repositorio con código: github.com/midudev/aprendiend...
    Clase anterior: • CURSO REACT 2024 - Apr...
    Segmentos del vídeo
    00:00 - Introducción
    00:30 - Inicialización del proyecto
    03:45 - Sobre los estilos del proyecto
    06:18 - Dibujando el tablero
    11:00 - Inicializar el estado
    13:50 - Estado con los turnos
    16:10 - Actualizando el tablero al hacer click
    18:00 - Lógica del tablero
    23:00 - Ajustando el final del juego
    27:00 - Detectar el ganador
    35:35 - El estado es asíncrono
    41:09 - Cómo crear el reset del juego
    46:35 - Lanzar confetti cuando gane la partida
    53:30 - Buenas prácticas separación de constante
    54:55 - Persistir la partida en localStorage
    01:05:16 - No puedes usar localStorage en el servidor
    01:07:20 - Aprende el hook useEffect
    01:16:40 - Configurar linter para monorepo
    01:21:52 - Creamos el segundo proyecto y aprendemos useEffect
    01:32:23 - Limpiando efectos
    01:41:19 - ¿Por qué se ejecuta dos veces el efecto?
    01:44:10 - React Developer Tools
    ▶ No te pierdas más directos en: / midudev
  • НаукаНаука

Комментарии • 254

  • @kerneldiego
    @kerneldiego Год назад +16

    Es increíble que siempre aprendo algo nuevo, me llevo siempre buenas prácticas y tips que te abren la cabeza en tus videos.

  • @takaherrero6365
    @takaherrero6365 3 месяца назад +11

    Midu, sos un verdadero crack. No se que estaras haciendo ahora de tu vida pero se nota que programar y enseñar es lo tuyo. Un gusto haber clickeado tu video

  • @justin.script
    @justin.script 7 месяцев назад +6

    Gracias midu por hacer todo esto gratis, cada que veo tus videos aprendo algo nuevo y me motivas aun más.

  • @ismaelsimbana6653
    @ismaelsimbana6653 8 месяцев назад +6

    Midulive de verdad que es un placer disfrutar tus videos, son geniales y das un gran aporte a la comunidad, me has motivado mucho a seguir aprendiendo y tu manera de enseñar simplemente estupenda. Grande Crack 💻

  • @majestics271
    @majestics271 Год назад +36

    Tercera vez que veo el video... Cada vez aprendo mas y mas. Gracias Midu por todo el aporte. Aunque me resulte muy difícil voy a seguir practicando

  • @pepe7pw177
    @pepe7pw177 Год назад +12

    Woow qué manera de explicar y dominio de tema. Dios te bendiga. Sigue así Midu. Saludos.

  • @aldairdezacaballero2766
    @aldairdezacaballero2766 10 месяцев назад +3

    Estoy muy agradecido por el curso, se que aprenderé mucho acá, pero por lo pronto siento que necesito aprender lo básico de react ya que esta sesión me esta costando un poco entenderla, pero volveré pronto

  • @armandoherrera1717
    @armandoherrera1717 Год назад

    Ya lo tengo en mi lista de videos que debo ver bien con calmita jejeje. Me fascina! Se que aprenderé mucho así como aprendí con el otro.

  • @msettecasse
    @msettecasse 10 месяцев назад

    Excelente todos tus cursos! viendo la capacidad que tienes como desarrollador esperare con ansias algun dia algun curso de react.js explicando cada detalle de como funcionan las cosas por adentro. Alguna clase magistral explicando que pasa en cada cosa under the hook! Saludos y gracias por todo!

  • @Eleqful
    @Eleqful 3 месяца назад

    Eres increible Midu, millones de gracias siempre por todo el trabajo que haces por la comunidad y por compartir este gran conocimiento!!

  • @Alector666
    @Alector666 9 месяцев назад

    sos el mejor profesor que existe en youtube, valen oro tus cursos

  • @diegonaranjo1874
    @diegonaranjo1874 9 месяцев назад +1

    bro sos un crack la verdad, ojala llehgar a ser algun dia como vos, solo que no expliques todo tan rapido, se que hay personas que son muy cracks como vos, pero tambien hay juniors como yo que apenas andan aprendiendo react y que vayas tan rapido se dificulta un poco, pero igual seguis siendo un puto crack

  • @jonathanbernal6980
    @jonathanbernal6980 4 месяца назад +2

    En colombia le llamamos triki midu, me encanta tu contenido esta super genial! de verdad siento que contigo se hace fácil aprender

  • @jesusvelasco4893
    @jesusvelasco4893 11 месяцев назад +15

    Cada segundo de este video vale oro. He aprendido muchas buenas prácticas GRACIAS MIDU!

  • @alexx855
    @alexx855 Год назад

    siempre me llevo algo nuevo de tus videos midu, sos crack gracias!

  • @user-do1nu5pv5k
    @user-do1nu5pv5k 9 месяцев назад +2

    Lo primero muchas gracias por subir estos videos, están muy bien. Creo recordar que este video antes tenía marcas de tiempo, eran muy útiles porque te permiten ir directamente a la parte del video que quieres repasar. ¿Las podéis añadir otra vez por favor? Gracias.

  • @d-landjs
    @d-landjs Год назад +1

    Que excelente segunda parte de React maestro !!!!

  • @sycrox2
    @sycrox2 Год назад +8

    Hola Midu, te agradezco muchísimo por todo el contenido y por compartir tus conocimientos. Empecé a ver los directos de Twitch acerca del curso de React, todo me pareció súper bien estructurado cuando hablaste del contenido del curso, pero en algún momento (creo que fue cuando fuiste a la conferencia de Chile) se empezó a desordenar un poco lo del curso y ya eran algunas cosas como random acerca de React y pues la verdad le perdí el hilo 😓, de pronto es solo mi percepción pero así me pareció. Gracias de nuevo por tu tiempo y lo que haces por la comunidad. Sería genial que el curso sí fuese como en el orden que lo planteaste en un principio 😊

    • @thismadev
      @thismadev Год назад +1

      Estoy de acuerdo contigo!!

  • @tomas6909
    @tomas6909 11 месяцев назад

    Impresionante tu contenido midu!!! Gracias por compartir

  • @DAVIDIL81
    @DAVIDIL81 Год назад +9

    Me recuerdas a esos que resuelven el cubo de Rubick en 6 segundos y a mi me lleva una semana... Qué rapidez!!! (y yo qué lento)
    Gracias por los cursos...

  • @SonGoku-pc7jl
    @SonGoku-pc7jl Год назад +1

    muchas gracias midu!!! muy guay ambos proyectos aunque el tres en ralla pensaba que seria más facil y cuesta seguirte jeje, pero bueno, me lo remiro o lo practico en código probando un multiplayer o algo :)

  • @Deus-lo-Vuilt
    @Deus-lo-Vuilt Год назад +2

    Excelente midu , el curso va súper bien 🎉

  • @thismadev
    @thismadev Год назад +5

    Deseando tener todas las clases disponibles del curso!!!!

  • @Redolff
    @Redolff 26 дней назад

    Que bien explicas Midu, es una locura! Gracias

  • @cesarcasares8074
    @cesarcasares8074 2 месяца назад

    Excelente curso, me encanto, aprendi mucho mas que en muchos curso de Udemy

  • @klisch
    @klisch Год назад

    Gracias por tanto, Midu! 💙

  • @rana_zurda
    @rana_zurda Год назад

    muy buen video, me ayudo a entender el hook UseEffect, saludos Midu!

  • @rafaric81
    @rafaric81 Год назад

    Excelente contenido como siempre Midu!

  • @sek84kes
    @sek84kes 3 месяца назад

    Grande Midu!! Gran contenido y gran persona.

  • @marianojimenez990
    @marianojimenez990 10 месяцев назад

    Esta clase se acompaña con unos mates. Gracias Midu

  • @unparadigman
    @unparadigman 19 дней назад

    Será midulive mi mentor?... Espro disfrutar de este canal y aprender un montón de cosas nuevas! A POR ELLO!!!!

  • @nicolasrodriguez5054
    @nicolasrodriguez5054 Год назад +2

    Buenisimo justo lo que andaba necesitando!

    • @midulive
      @midulive  Год назад +1

      Me alegro que te sirva!

  • @gaby_developer3126
    @gaby_developer3126 Год назад

    que gran video no tiene desperdicio #Midu!! eternas graciasss!! sdos desde Argentina, Bs As.!!

    • @midulive
      @midulive  Год назад +1

      Gracias, Gaby!

    • @gaby_developer3126
      @gaby_developer3126 Год назад

      @@midulive no, gracias a vos Midu te mereces todos los éxitos q te pasan y más hno! Gran Instructor de la programación! 👏💪

  • @eduardocano7414
    @eduardocano7414 Год назад +1

    Exelente video, muchas gracias midu.

    • @midulive
      @midulive  Год назад +1

      A ti por comentar!!!

  • @kevinayerdi
    @kevinayerdi 11 месяцев назад

    de tanto escucharte ya hablo moodGallego miduuuu :D

  • @lucascarrascoe
    @lucascarrascoe Год назад +3

    Por si a alguien le surgió la misma duda que a mi, cuando se corre el useEffect, primero se ejecuta el clean up que pusimos en el return (osea, removeEventListener), y despues el efecto (de hecho en el video dice que el cleanup se ejecuta ANTES que el efecto), por eso cuando hacemos enabled=true el evento si se añade, porque primero se corre el removeEventListener, y despues el addEventListener

    • @FullThrashDeathMetal
      @FullThrashDeathMetal 11 месяцев назад

      Tuve la misma duda me toco poner console logs por todas partes para saber el orden de ejecucion XD

  • @sebastianvh7441
    @sebastianvh7441 Год назад

    2 meses mas de videos asi, y salgo sindo alto dev😎, gracias miduDios!!

    • @thismadev
      @thismadev Год назад

      Jajajajaja y mucha practica!!

  • @user-ku6zw5ve8y
    @user-ku6zw5ve8y Год назад

    Gracias por el video!!! Saludos

  • @eluizeramadeusdeleondeleon2021

    Eres el mejor miduGod! 🎉

  • @musicbyscve
    @musicbyscve 3 месяца назад

    Gracias midu, sos un héroe!

  • @carlosdelviento
    @carlosdelviento 4 дня назад

    muy buen curso midu 🙌🏼 aplicando tu explicación de useState lo apliqué a un proyecto de api y el login es un componente, el logout , intento que cambie el estado dentro de App pero no cambia el button a logout , la sesion se guarda con redux

  • @jeyfredcalderoncortes2185
    @jeyfredcalderoncortes2185 Год назад +2

    Hola, gracias por el curso, me genero una duda con las clases cell y cell__content, estas clases css vienen por defecto con react?

  • @ArielRobottiMdQ
    @ArielRobottiMdQ 4 месяца назад

    Buenas buenas... las circunstancias me han obligado ponerme a estudiar un poco de React y agradezco haber encontrado este canal... Dicho esto, desde que se vio lo de la función cleanup en el return del useEffect hasta el minuto 2:03:14 he estado algo confundido... y es que al estar dicha función justo a lo último, uno supone que primero se evalúa el if (enabled) y eventualmente se activa el addEventListener, y luego se desactiva en el return, lo cual no tendría sentido porque quedaría siempre el addEventListener desactivado. Pero es al revés, primero se retorna la función cleanup y luego se ejecuta lo que está arriba, lo cual me obliga a profundizar un poco mas en el asunto. No obstante, me sacado de la confusion justo en este instante. Gracias!!

  • @martinojeda3648
    @martinojeda3648 6 месяцев назад

    Acabo de hacer mi primer despliegue contigo miduuuu! Subi el tic-tac-toe para que mi hijo juego en su celular! Muchas gracias por todo lo que has enseñado hasta el momento! A la siguiente clase!

    • @midulive
      @midulive  6 месяцев назад +1

      Qué grande. ¡Felicidades! 🚀

  • @user-cq3eu1yi8z
    @user-cq3eu1yi8z Год назад

    Muchísimas gracias miduu :).

    • @midulive
      @midulive  Год назад

      A ti por comentar, Diego!

  • @dagcomunica5921
    @dagcomunica5921 10 месяцев назад

    Sencillamente, excelente

  • @elmersolis7301
    @elmersolis7301 Год назад

    grande midu, muchas gracias

  • @luisgranados2006
    @luisgranados2006 Год назад

    Que videaso Midu 😍😍

  • @elianrafaelvieiradonado1150
    @elianrafaelvieiradonado1150 Год назад

    Esperaré aver q tal😊

  • @kazz94
    @kazz94 11 месяцев назад +1

    Yo cuando activo el estado del mouseFollow (enabled, en tu vídeo) me desaparece el cursor y se mueve el div que hace de círculo, pero también me inhabilita los clicks en el botón, así que no puedo volver a desactivar el estado :(
    EDIT: Ya está resuelto. Si a alguien le pasa es porque no puso los mismos estilos que midu. Él ha usado pointerEvents: 'none' para que los clicks atraviesen el div del círculo que queda justo debajo del cursor, por tanto si no quitas los pointerEvents (pointer-events en css) vas a clicar sobre ese div (el círculo que hace como de cursor) y no sobre el botón que queda justo debajo del div.
    Aprovecho el comentario para decir que eres un maestro, Midu. Estoy aprendiendo muchísimo contigo y con tus vídeos :D
    Un saludo desde Valencia (España) :D xD

  • @jeissonbarriga8926
    @jeissonbarriga8926 Год назад +3

    Oye midu, lo que dices en el minuto 33:13 creo que no es del todo correcto. La actualización del estado no es asíncrona. Lo que pasa es que la actualización primero se hace sobre una variable interna de react que luego se usa para actualizar la variable de estado del componente cuando se vuelve a renderizar. Es decir que el setWinner se ejecuta de inmediato pero no afecta directamente la variable de estado del componente.

  • @jbl9364
    @jbl9364 10 месяцев назад +5

    Por si hay gente que tiene problemas con standard. Hay una extensión para vscode que funciona bien (StandardJS - JavaScript Standard Style
    ) , al menos en mi caso con la de ESLint no me funcionaba.

    • @SneijderLV
      @SneijderLV 6 месяцев назад

      No te funcionaba? Lo pudiste resolver? Y como podes hacer el autoformateado

    • @yogaalsur8276
      @yogaalsur8276 3 месяца назад

      @@SneijderLV tienes que isntalar en general eslint - npm install -g eslint - y luego configurar la extension en - settings.json - con lo siguiente y ahi me funciono :) espero que te sirva
      "[javascriptreact]": {
      "editor.defaultFormatter": "dbaeumer.vscode-eslint" // aca elegis como preedeterminado la extesion
      },
      "editor.codeActionsOnSave": {
      "source.fixAll.eslint": true // aca le decis que guar y arregle :)
      }

  • @dev_FerMT
    @dev_FerMT 10 месяцев назад +1

    Instalé la extensión de ESLint en VS Code y me han salido errores del tipo: 'winner' is missing in props validation eslint (react/prop-types), sucedió con winner, resetGame, children, isSelected, updateBoard, index que son los parámetros que reciben los componentes de WinnerModal y el de Square. Y ni si quiera marcó los errores de usar comillas dobles en vez de simples.
    ¿Alguien me puede explicar a qué se debe?

  • @carlosescamilla3065
    @carlosescamilla3065 Год назад +1

    Oye amigo, gracias por tus videos, crees que puede crear un video que explique como hacer fetch de archivos csv y convertirlos a json?

  • @rafabo
    @rafabo Месяц назад

    Una pregunta. Aquí midu normalmente utiliza function expressions para las funciones que añaden dinamismo al proyecto o para componentes secundarios como es , y sólo utiliza functions declarations para el componente principal.
    ¿Esto algo estándar en React, buenas prácticas o simplemente una preferencia de midu?
    Gracias de antemano por sus respuestas y gracias a midudev por todo su contenido que tanto ayuda a los que estamos aprendiendo :)

  • @valentinoquilesmatei3408
    @valentinoquilesmatei3408 2 месяца назад +2

    Curso buenisimo.
    Para los que os ocurra el mismo problema que a mi con el ESLINT debeis de borrar el archvio .eslintrc.cjs que esta en cada proyecto para que no tenga normas propias y coja las generales.
    O asignarselo en el propio archvio en extends : [
    ''standard',
    ...
    ...
    ]
    Espero que a alguien le ayude ya que llevo un buen rato para que me fucnione con el estandard

  • @CharlyAlemania
    @CharlyAlemania 10 месяцев назад

    👏🏻👏🏻Genial video Midu, como siempre! ❓❓ PREGUNTA: 1:34:00 se puede lograr el mismo efecto para limpiar el *window.addEventListener* del puntero usando un *else* o un *else if(!enabled)* en vez de usar un *return () => window.removeEventListener* en el useEffect?

  • @muntius8680
    @muntius8680 Год назад

    Excelente. Gracias

  • @sergio-code
    @sergio-code 2 месяца назад

    Excelente curso, midu crees que crear un datatable es mejor hacerlo desde cero con React o recomiendas una librería externa para ello?

  • @Epsaind
    @Epsaind Год назад

    Excelente midu !

  • @petersandovalmoreno5213
    @petersandovalmoreno5213 Год назад

    El problema del console log estaría pasando con el confeti?, se muestra un poco antes de que aparezca el último símbolo del ganador

  • @marcoshernandez6623
    @marcoshernandez6623 4 месяца назад

    Midu vengo de vue, y en vue existe un concepto llamado EMIT en el cual puedes emitir eventos desde un componente hijo hacia el padre, quisiera saber si en react existe algo parecido a esto y asi no pasar funciones como props.

  • @danielnavarro8758
    @danielnavarro8758 10 месяцев назад +1

    Hola una pregunta que plugin usas para que te agregue código,, te muestra una solución,, como se llama ese plugin bro

  • @clasicojfca1793
    @clasicojfca1793 5 месяцев назад

    Hola amigo muy buen video, solo que me surgió la siguiente pregunta, cuales son las diferencias entre export function y export const?, siguiendo mi lógica en base a este escenario, yo creo que se define export function a lo que cambia de manera recurrente dentro del componente y del lado del const es por que no habrá cambios significativos, en tu experiencia es correcto esto

  • @josuefront-dev5848
    @josuefront-dev5848 Год назад

    Midulive podrias explicar como iniciar un estado donde el jugador eliga con cuál opción iniciar la partida? Gracias

  • @Geek-Doom
    @Geek-Doom 3 месяца назад

    Excelente curso midu, pero tnego una consulta, no se si es por eslinter o que, pero me sale un error en el proyecto anterior, en el componente de twitterFollowCard, me dice "userName, children y initialIsFollowing is missing in props validation" eso es que debo agregarle tipado? (pregunto es porque no me afecta al correr el código)

  • @antonyteno
    @antonyteno 5 дней назад

    Midu, que extensión estas usando para el auto generado de código ??

  • @nemmmu
    @nemmmu Год назад +4

    Hola Midu! En la parte de configurar linter para monorepo si añado las líneas de eslintConfig me tira este error en el Output: "Error: Plugin "react" was conflicted between "projects\01-test\.eslintrc.cjs » plugin:react/jsx-runtime" and "package.json » ./node_modules/standard/eslintrc.json » eslint-config-standard-jsx" Sin embargo si no pongo nada el linter parece que funciona aunque no me dice de corregir los import con comillas "", otras cosas sí. Muchas gracias por estos cursos de verdad

    • @nemmmu
      @nemmmu Год назад +6

      Por si a alguien más le pasa, para solucionarlo dentro del proyecto borrad el .eslintrc.cjs y quitad las dependencias del eslint del package.json y ya el linter debería funcionarte como en el vídeo

    • @Phathho
      @Phathho Год назад +1

      @@nemmmu Gracias :D

    • @TorresJoshua
      @TorresJoshua 6 месяцев назад

      @@nemmmu muchas gracias, este comentario me salvo la vida jaja

  • @user-lz9pg2kx2n
    @user-lz9pg2kx2n 11 дней назад

    cual es la extencion que usa para autocompletar su codigo?

  • @Coachcorreas
    @Coachcorreas 9 месяцев назад

    holaaaaa podrias contarme o si tenes un video de las extensiones que usas en visual.!?

  • @programandoDev
    @programandoDev Год назад

    Hola Midu, te quería preguntar si podrías hacer un curso de Go(Goland)

  • @kaymansolo
    @kaymansolo 4 месяца назад +1

    Buenas midu, como pusiste los iconos 'X' y 'O'?

  • @valenruffo406
    @valenruffo406 Год назад

    pregunta, seria una buena opcion usar Redux para el store no?

  • @paulpopaul
    @paulpopaul Год назад

    midu, faltó un memorize con sonidos, cuándo ! gracias por compartir conocimiento !

  • @ElClubDelCan
    @ElClubDelCan 2 месяца назад

    Midu: Es un hechizo sencillo pero inquebrantable. XD 26:37

  • @valentinfeller121
    @valentinfeller121 7 месяцев назад

    Hola! Cual es la diferencia en como llamo a la funcion:
    handleClose()}>cancelar
    cancelar
    Gracias de antemano.

  • @FullThrashDeathMetal
    @FullThrashDeathMetal 11 месяцев назад

    Me encanto el intro en argentino.

  • @miguelamartineztube
    @miguelamartineztube 11 месяцев назад +1

    ¡Gracias!

    • @midulive
      @midulive  11 месяцев назад +2

      A ti por el super thanks!!!

  • @user-yg2bb7vc6b
    @user-yg2bb7vc6b 5 месяцев назад

    Necesito saber cuales son las extensiones que este hombre tiene instalado en el visual PORFAVOR

  • @CarlosRomero-rp1dv
    @CarlosRomero-rp1dv Год назад

    Excelente, justo lo que necesitaba

  • @Sparktan24
    @Sparktan24 11 месяцев назад

    Por si alguien quiere que desaparezca el círculo (mouse follower) mientras el botón esté inactivo, pueden agregar la ternaria en el style del div:
    display: enabled ? 'block' : 'none'

  • @metinero9
    @metinero9 2 месяца назад

    se puede complementar este curso con tu anterior curso de react? o ese ya queda desactualizado ?

  • @AxelSoda26
    @AxelSoda26 Месяц назад

    Hola, no me quedé precisamente atorado pero sí tengo una situación y es que no puedo visualizar las "x" y las "o" en el tableto, como aparece en el min 23:13. Lo demás me funciona, para cuando detecta un ganador etc, solo ese problemilla tengo, no sé qué hice mal jajaja, alguien podría ayudarme?

  • @TheBryanRedz
    @TheBryanRedz 3 месяца назад

    Es como si midudev hubiese escrito la documentación de React 😎🤓

  • @GustavoGonzalez-fw6cd
    @GustavoGonzalez-fw6cd Год назад

    Estoy aprendiendo montonazoooo!!! Gracias CAPOO!!! Pregunta: Cómo se llama esa extensión que mencionas? HACK COPILOT es ?

  • @cesarcardozobriceno92
    @cesarcardozobriceno92 11 месяцев назад +3

    Una consulta como te aparece las sugerencias, tienes alguna extensión o alguna configuración?

  • @D3xtr0yed13
    @D3xtr0yed13 3 месяца назад

    Bro podrías compartir las extensiones que usas en visual studio? muchos te lo agradeceríamos a como te agradecemos mil por estos cursos.

  • @abrahaamveliz
    @abrahaamveliz 5 месяцев назад +1

    por un momento analizé lo complejo que iba a ser evitar que se sobreescriba el array al presionar sobre una casilla ya marcada y viene midu y me tira un "if(board[index]) return" por toda la cara

  • @joelkratos2011
    @joelkratos2011 10 месяцев назад

    Chicos, en el TIC TAC TOE hay un bug, donde si termina la partida y reseteas la página, puedes hacer movimientos extras y seguir llenando los círculos de uno en uno. Para eso, deben crear otro estado pero esta vez del winner.

    • @jose.eliasalvarado2711
      @jose.eliasalvarado2711 8 месяцев назад

      así es yo lo hice asi const [winner, setWinner] = useState(() => {
      const winnerStorage = window.localStorage.getItem('winner')
      return JSON.parse(winnerStorage) ?? null
      })

  • @user-cf9ku5wj9f
    @user-cf9ku5wj9f Год назад

    Muchas gracias por los vídeos. Son muy útiles ¿Alguien sabe qué tienes que tener instalado para poder poner los emojis en lugar de la x y la o?

    • @diazterrom
      @diazterrom 11 месяцев назад +1

      Hola, presionando la tecla ( windows + ; ). 😁

  • @gerardovanced3983
    @gerardovanced3983 Год назад +3

    no entiendo este codigo 39:33
    por qué el "winner !==null" al ser true renderiza lo que esta despues del &&? o a que se refiere la linea entera? como se llama este tema para poder investigarlo? es que no entiendo porque un AND haria que se renderice algo
    es que pense que pudiera ser una expresion ternaria, pero su estructura inclue un "?" y ":"

    • @gerardovanced3983
      @gerardovanced3983 Год назад +2

      ok, investigando encotre que si en una comparacion logica todo da verdadero usando &&, retorna el elemento de hasta la derecha. Y como las llaves renderizan el codigo js que es retornado entonces renderiza lo que hay dentro del parentesis
      no sabia esa propiedad del &&, pero no borrare el comentario por si alguien tiene la misma duda

    • @jesusgastelum7652
      @jesusgastelum7652 Год назад +1

      El operador logico AND (&&) da verdadero si todo es verdadero, si por ejemplo tienes "if (a > 5 && b > 5 )" , si la primera condicion no se cumple no checa la 2da porque a fin de cuentas el resultado ya seria falso. En este caso, se usa esa condicion de "winner !== null' porque si da True significa que hay un ganador y pasara a la siguiente parte de la condicion que en ese caso seria la renderizacion de un una serie de etiquetas (incluso pueden ser componentes hechos por ti), esa sintaxis se usa mucho para renderizar componentes condicionalmente.

  • @lenierperez1831
    @lenierperez1831 Год назад

    Hola gracias por los videos, una pregunta como es que el editor en el minuto 6.34 te auto completa la función

  • @leandrogtabak
    @leandrogtabak Год назад +3

    Alguien sabe como hace para que le aparezcan previsualizaciones del console.log al lado de las sentencias? es por el copilot o es otra extension? esta muy buena!

  • @ramonantonionuilasoto2195
    @ramonantonionuilasoto2195 Год назад +1

    Hola midu soy nuevo en este mundo, y quiero especializarme en react. Tengo fundamentos sólidos de HTML, css y javascript. Por dónde me recomiendas empezar, con react muchas gracias.

  • @piliopan
    @piliopan 5 месяцев назад

    Buenos dias, grandioso video, una curiosidad, que pluging es el que usas que te va sugiriendo el codigo ?

    • @midulive
      @midulive  5 месяцев назад

      GitHub Copilot

  • @pupoxws983
    @pupoxws983 Год назад

    GRACIAS

  • @jesuszunigaamador3226
    @jesuszunigaamador3226 11 месяцев назад +1

    Como haces para que salga el texto de los errores al lado en rojito, que extensión usas?

    • @alonsochaves1678
      @alonsochaves1678 10 месяцев назад

      Code Runner se llama la extensión de VS

  • @hayderarenas4832
    @hayderarenas4832 3 месяца назад +1

    Como se llama la extencion que le ayuda a autocompletar codigo? gracias

    • @Luiss_X
      @Luiss_X 3 месяца назад

      Github copilot pero es de paga

  • @musicbyscve
    @musicbyscve 3 месяца назад

    Increíble que vi un curso de React pago y nunca mencionaron que podía o debería limpiar el efecto una vez se actualice una dependencia/se desmonte un componente.

  • @fautomationhome
    @fautomationhome 6 месяцев назад

    Ey hombre gracias, excelentes videos... Cómo se llama la extensión que usa Visual para proponer código?🤙

    • @JFROGO
      @JFROGO 6 месяцев назад

      Seguro es github copilot, creo que es de paga