A veces queremos crear componentes que mantengan un estado interno en el tiempo, imaginemos un semáforo que cambia de color cada 3 segundos, para implementar eso tendríamos una variable color
que puede tener como valor cualquier color entre [amarillo, rojo, verde]
1let color = "blue";
Pero solo con tener esa variable no basta, necesitamos que cada vez que la variable color cambie también lo haga el código HTML del semáforo, para eso utilizamos el hook de react llamado useState
:
1// ↓ variable name ↓ default value 2const [ color, setColor] = useState("red"); 3// ⬆ function to change the color
De ahora en adelante, cada vez que utilicemos la function setColor para cambiar el valor de la variable color, el HTML del componente también se actualizará para reflejar el cambio.
Puedes leer más sobre hooks aquí.
No clones este repositorio porque vamos a usar una plantilla diferente.
Recomendamos abrir el react boilerplate
usando una herramienta de aprovisionamiento como Codespaces (recomendado) o Gitpod. Alternativamente, puedes clonarlo en tu computadora local usando el comando git clone
.
Este es el repositorio que necesitas abrir o clonar:
https://github.com/4GeeksAcademy/react-hello
👉 Por favor sigue estos pasos cómo comenzar un proyecto de codificación.
💡 Importante: Recuerda guardar y subir tu código a GitHub creando un nuevo repositorio, actualizando el remoto (git remote set-url origin <your new url>
) y subiendo el código a tu nuevo repositorio usando los comandos add
, commit
y push
desde la terminal de git.
Simulemos un semáforo como este.
La luz tiene que brillar cuando se hace clic.
useState
de la siguiente manera:1const [ color, setColor] = useState("red");
1ReactDOM.render(<TrafficLight />, document.querySelector('#app'));
2 Crea un botón que, al hacer clic en él, alterna el color seleccionado del semáforo entre rojo, verde y amarillo.
10 Tener un botón que al hacer clic en él anuncie un color extra "púrpura" al semáforo.
Este y otros proyectos son usados para aprender a programar por parte de los alumnos de 4Geeks Academy Coding Bootcamp realizado por Alejandro Sánchez y muchos otros contribuyentes. Conoce más sobre nuestros Curso de Programación para convertirte en Full Stack Developer, o nuestro Data Science Bootcamp.