Introducción a React y Preparación del Entorno
Aprende React: Desarrollo Web y Mobile Eficiente y Escalable
Fundamentos de Componentes y JSX
Creación de Componentes con JavaScript y React
Creación de Componentes Reutilizables con Props en React
Quiz: Fundamentos de Componentes y JSX
Manejo del Estado y Hooks Básicos
Estado Local en React: Uso de useState para Contadores
Creación y manejo de estados en un Toggle Button con React
Eventos y manejo de estado en React: name form interactivo
Uso de useEffect para Manejar Efectos Secundarios en React
Quiz: Manejo del Estado y Hooks Básicos
Estilización de Componentes
Estilos en React: CSS, SaaS y Módulos CSS
Estilos en Línea en React: Uso y Mejores Prácticas
Creación de Botones Reactivos con Styled Components en React
Instalación y Uso de Tailwind CSS en Proyectos Web
Quiz: Estilización de Componentes
Trabajo con Datos y APIs
Creación de Componentes con Datos Estáticos en React
Creación de un Componente User List con Fetch en React
Manejo de Errores y Carga en Fetch para Componentes React
Optimización de Fetch con useEffect y Dependencias en React
Quiz: Trabajo con Datos y APIs
Componentes Avanzados y Estado Global
Manejo de estados complejos en React con useReducer
Context API en React: Manejo de Estados Globales y Proveedores
Creación de Hooks Personalizados en React para Contadores Reutilizables
Optimización de Componentes en React con React.memo y Hooks
Quiz: Componentes Avanzados y Estado Global
Introducción a TypeScript en React
Componentes con TypeScript en React: Tipado de Props y Funciones
Tipado de Estados y Funciones en TypeScript para React
Tipado de useReducer y Context API en TypeScript
Quiz: Introducción a TypeScript en React
Nuevas Características de React 19
Novedades y Mejoras en React 19 para Desarrolladores
Fundamentos y Actualización Continua en React
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
El estado en React es un concepto fundamental que permite a los componentes mantener y actualizar datos a lo largo del tiempo. Comprender cómo funciona la actualización del estado y cómo afecta al renderizado de componentes es esencial para desarrollar aplicaciones React eficientes y reactivas. En esta guía, exploraremos estos conceptos a través de ejemplos prácticos, centrándonos en la creación de un componente Toggle Button que ilustra perfectamente estos principios.
Cuando trabajamos con estado en React, debemos tener presentes dos aspectos cruciales:
Para ilustrar estos conceptos, vamos a crear un componente Toggle Button que cambia entre dos estados: activo e inactivo.
Primero, necesitamos crear un nuevo archivo llamado ToggleButton.jsx con la estructura básica de un componente React:
import { useState } from 'react';
const ToggleButton = () => {
// Aquí irá nuestro código
return (
// Aquí irá nuestro JSX
);
};
export default ToggleButton;
Ahora, implementemos el estado utilizando el hook useState:
import { useState } from 'react';
const ToggleButton = () => {
const [isActive, setIsActive] = useState(false);
return (
// Aquí irá nuestro JSX
);
};
export default ToggleButton;
Es una buena práctica utilizar el prefijo "is" para variables de estado booleanas, ya que hace que el código sea más legible y autodocumentado. En este caso, isActive
indica claramente que estamos trabajando con un estado que puede ser verdadero o falso.
Ahora, completemos nuestro componente con la funcionalidad para cambiar entre estados:
import { useState } from 'react';
const ToggleButton = () => {
const [isActive, setIsActive] = useState(false);
return (
<button onClick={() => setIsActive(!isActive)}>
{isActive ? 'Activo' : 'Inactivo'}
</button>
);
};
export default ToggleButton;
En este código:
onClick
que ejecuta una función para actualizar el estado.setIsActive(!isActive)
para invertir el valor actual del estado (de false
a true
o viceversa).isActive
.Es fundamental entender que en React no debemos modificar directamente la variable de estado:
// ❌ INCORRECTO
isActive = !isActive;
// ✅ CORRECTO
setIsActive(!isActive);
Cuando utilizamos la función setter:
Este proceso garantiza que la interfaz de usuario se mantenga sincronizada con los datos de la aplicación.
Para utilizar nuestro componente ToggleButton, debemos importarlo en nuestro componente App:
import ToggleButton from './ToggleButton';
function App() {
return (
<div className="App">
<ToggleButton />
</div>
);
}
export default App;
Al ejecutar la aplicación, veremos un botón que inicialmente muestra "Inactivo". Cada vez que hacemos clic en él, su texto cambia entre "Activo" e "Inactivo", demostrando cómo React actualiza la interfaz de usuario en respuesta a los cambios de estado.
Uno de los aspectos más poderosos de React es su capacidad para actualizar eficientemente la interfaz de usuario cuando cambia el estado. Cuando llamamos a setIsActive
, React:
Este proceso, conocido como renderizado virtual, es lo que hace que React sea tan eficiente y rápido para construir interfaces de usuario interactivas.
En nuestro ejemplo del ToggleButton, cuando hacemos clic en el botón, React detecta el cambio en isActive
y actualiza solo el texto dentro del botón, sin afectar al resto de la aplicación.
El estado en React es una herramienta poderosa que nos permite crear componentes interactivos y dinámicos. Comprender cómo actualizar correctamente el estado y cómo afecta al proceso de renderizado es esencial para desarrollar aplicaciones React eficientes. A través del ejemplo del ToggleButton, hemos visto estos conceptos en acción, demostrando la simplicidad y potencia del modelo de programación de React. ¿Has probado a modificar el ejemplo para mostrar emojis o íconos en lugar de texto? Comparte tus experimentos y dudas en los comentarios.
Aportes 18
Preguntas 0
Push the button for toggle
<button onClick={Toggleclick}> {isActive ? "Active 🟢" : "Inactive 🔴"} </button>
Component created by rarch-dev,
{" "}
with React UseState
Push the button for toggle\
\<button onClick={Toggleclick}> {isActive ? "Active 🟢" : "Inactive 🔴"} \</button> \
Component created by rarch-dev, \
{" "}
\ with React UseState \
\
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?