Gestión de Estado con el Hook useState
El hook useState es un hook fundamental de React que permite a los componentes funcionales tener un estado. Proporciona una forma de declarar y actualizar variables de estado dentro de un componente.
Sintaxis:
Para utilizar el hook useState, se llama y se pasa el estado inicial (initialState) como argumento. Devuelve un arreglo con dos elementos: el valor actual del estado (state) y una función (setState) para actualizar el estado.
const [state, setState] = useState(initialState);
-
Se puede elegir cualquier palabra como nombre para una variable de
state. Se recomienda utilizar un nombre de variable que describa con precisión qué estado se está almacenando o actualizando, comoinputValue,page,number,name, entre otros; -
De manera similar, al usar la función
setState, existe flexibilidad para elegir el nombre de la función. Sin embargo, seguir un patrón específico es una convención estándar: el nombre de la funciónsetStatedebe comenzar con "set" seguido del nombre de la variable de estado correspondiente. Por ejemplo, si la variable destateesmail, la funciónsetStatecorrespondiente normalmente se llamaríasetMail.
Nota
Cuando se llama a
setState, React vuelve a renderizar el componente y actualiza el estado con el nuevo valor. Es importante tener en cuenta que al usaruseState, la variable de estado no necesita ser un objeto. Puede ser un valor primitivo (como un número, cadena o booleano) o un valor complejo (como un arreglo u objeto).
Ejemplo 1:
Construyamos el componente Counter, que mantendrá su propio estado. Cuando se haga clic en el botón Incrementar, actualizaremos el estado y provocaremos un nuevo renderizado del componente.
import React, { useState } from "react";
const Counter = () => {
const [count, setCount] = useState(0);
const increment = () => {
setCount(count + 1);
};
return (
<div>
<p>Count: {count}</p>
<button onClick={increment}>Increment</button>
</div>
);
};
En este ejemplo, el hook useState se utiliza para declarar una variable de estado count con un valor inicial de 0. La función setCount se utiliza para actualizar la variable count cada vez que se hace clic en el botón.
Explicación línea por línea:
- Línea 1: Se importa el hook
useStatede la librería React para utilizar su funcionalidad; - Línea 3: Se define el componente
Counterutilizando la sintaxis convencional de función; - Línea 4: Se inicializa el estado utilizando el hook
useState;
countrepresenta el valor del contador. Su valor inicial es0, especificado dentro de los paréntesis deuseState(0);setCountes la función que actualiza el estado cuando sea necesario.
- Líneas 6-8: Esta función flecha de JavaScript gestiona la lógica para actualizar el estado. Se ejecuta cuando se hace clic en el botón "incrementar". Dentro de la función, se utiliza la función
setCountpara actualizar el estado; - Líneas 10-15: Renderiza el marcado del componente. En la línea 12, se muestra el valor actual del estado (
count). El botón en la línea 13 utiliza el atributoonClickpara definir la función que se ejecutará al hacer clic. En este caso, se pasa la funciónincrement.
Código completo de la aplicación:
Ejemplo 2:
Construyamos el componente Form con su estado independiente. Solicitamos al usuario que ingrese su nombre en el campo de entrada y, dependiendo de su entrada, modificaremos el contenido mostrado.
import React, { useState } from "react";
const Form = () => {
const [userName, setUserName] = useState("");
const handleChange = (event) => {
const inputValue = event.target.value;
setUserName(inputValue);
};
return (
<div>
<input
type="text"
value={userName}
onChange={handleChange}
placeholder="Your name"
/>
<p>Hello, {userName}!</p>
</div>
);
};
En este ejemplo, el hook useState se utiliza para declarar una variable de estado userName con un valor inicial de cadena vacía. La función setUserName actualiza la variable userName cada vez que sea necesario.
Explicación línea por línea:
- Línea 1: Importamos el hook
useStatede la librería React para utilizar su funcionalidad; - Línea 3: Definimos el componente
Formusando la sintaxis estándar de función; - Línea 4: Establecemos el estado inicial utilizando el hook
useState;
userNamerepresenta el valor del campo de entrada, inicialmente definido como una cadena vacía (""), especificada dentro de los paréntesis deuseState("");setUserNamees la función que nos permite actualizar el estado cuando sea necesario.
- Líneas 6-9: Esta función flecha de JavaScript gestiona la lógica para actualizar el estado. Se activa cuando el usuario escribe algo en el campo. Obtenemos el valor de entrada dentro de la función usando
event.target.value. Luego utilizamos la funciónsetUserNamepara actualizar el estado con el valor del campo de entrada; - Líneas 11-21: Se renderiza el marcado del componente.
- En la línea 15, asignamos
userNamecomo el valor inicial para el campo de entrada usando el atributovalue; - En la línea 16, usamos el atributo
onChangepara especificar la función que se llamará cuando haya un cambio en el campo de entrada.
Código completo de la aplicación:
1. ¿Cuál de las siguientes afirmaciones es verdadera sobre el hook useState?
2. ¿Cuál es el propósito de la función setState que retorna el hook useState?
3. ¿Cómo se establece el valor inicial del estado al usar el hook useState?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 2.17
Gestión de Estado con el Hook useState
Desliza para mostrar el menú
El hook useState es un hook fundamental de React que permite a los componentes funcionales tener un estado. Proporciona una forma de declarar y actualizar variables de estado dentro de un componente.
Sintaxis:
Para utilizar el hook useState, se llama y se pasa el estado inicial (initialState) como argumento. Devuelve un arreglo con dos elementos: el valor actual del estado (state) y una función (setState) para actualizar el estado.
const [state, setState] = useState(initialState);
-
Se puede elegir cualquier palabra como nombre para una variable de
state. Se recomienda utilizar un nombre de variable que describa con precisión qué estado se está almacenando o actualizando, comoinputValue,page,number,name, entre otros; -
De manera similar, al usar la función
setState, existe flexibilidad para elegir el nombre de la función. Sin embargo, seguir un patrón específico es una convención estándar: el nombre de la funciónsetStatedebe comenzar con "set" seguido del nombre de la variable de estado correspondiente. Por ejemplo, si la variable destateesmail, la funciónsetStatecorrespondiente normalmente se llamaríasetMail.
Nota
Cuando se llama a
setState, React vuelve a renderizar el componente y actualiza el estado con el nuevo valor. Es importante tener en cuenta que al usaruseState, la variable de estado no necesita ser un objeto. Puede ser un valor primitivo (como un número, cadena o booleano) o un valor complejo (como un arreglo u objeto).
Ejemplo 1:
Construyamos el componente Counter, que mantendrá su propio estado. Cuando se haga clic en el botón Incrementar, actualizaremos el estado y provocaremos un nuevo renderizado del componente.
import React, { useState } from "react";
const Counter = () => {
const [count, setCount] = useState(0);
const increment = () => {
setCount(count + 1);
};
return (
<div>
<p>Count: {count}</p>
<button onClick={increment}>Increment</button>
</div>
);
};
En este ejemplo, el hook useState se utiliza para declarar una variable de estado count con un valor inicial de 0. La función setCount se utiliza para actualizar la variable count cada vez que se hace clic en el botón.
Explicación línea por línea:
- Línea 1: Se importa el hook
useStatede la librería React para utilizar su funcionalidad; - Línea 3: Se define el componente
Counterutilizando la sintaxis convencional de función; - Línea 4: Se inicializa el estado utilizando el hook
useState;
countrepresenta el valor del contador. Su valor inicial es0, especificado dentro de los paréntesis deuseState(0);setCountes la función que actualiza el estado cuando sea necesario.
- Líneas 6-8: Esta función flecha de JavaScript gestiona la lógica para actualizar el estado. Se ejecuta cuando se hace clic en el botón "incrementar". Dentro de la función, se utiliza la función
setCountpara actualizar el estado; - Líneas 10-15: Renderiza el marcado del componente. En la línea 12, se muestra el valor actual del estado (
count). El botón en la línea 13 utiliza el atributoonClickpara definir la función que se ejecutará al hacer clic. En este caso, se pasa la funciónincrement.
Código completo de la aplicación:
Ejemplo 2:
Construyamos el componente Form con su estado independiente. Solicitamos al usuario que ingrese su nombre en el campo de entrada y, dependiendo de su entrada, modificaremos el contenido mostrado.
import React, { useState } from "react";
const Form = () => {
const [userName, setUserName] = useState("");
const handleChange = (event) => {
const inputValue = event.target.value;
setUserName(inputValue);
};
return (
<div>
<input
type="text"
value={userName}
onChange={handleChange}
placeholder="Your name"
/>
<p>Hello, {userName}!</p>
</div>
);
};
En este ejemplo, el hook useState se utiliza para declarar una variable de estado userName con un valor inicial de cadena vacía. La función setUserName actualiza la variable userName cada vez que sea necesario.
Explicación línea por línea:
- Línea 1: Importamos el hook
useStatede la librería React para utilizar su funcionalidad; - Línea 3: Definimos el componente
Formusando la sintaxis estándar de función; - Línea 4: Establecemos el estado inicial utilizando el hook
useState;
userNamerepresenta el valor del campo de entrada, inicialmente definido como una cadena vacía (""), especificada dentro de los paréntesis deuseState("");setUserNamees la función que nos permite actualizar el estado cuando sea necesario.
- Líneas 6-9: Esta función flecha de JavaScript gestiona la lógica para actualizar el estado. Se activa cuando el usuario escribe algo en el campo. Obtenemos el valor de entrada dentro de la función usando
event.target.value. Luego utilizamos la funciónsetUserNamepara actualizar el estado con el valor del campo de entrada; - Líneas 11-21: Se renderiza el marcado del componente.
- En la línea 15, asignamos
userNamecomo el valor inicial para el campo de entrada usando el atributovalue; - En la línea 16, usamos el atributo
onChangepara especificar la función que se llamará cuando haya un cambio en el campo de entrada.
Código completo de la aplicación:
1. ¿Cuál de las siguientes afirmaciones es verdadera sobre el hook useState?
2. ¿Cuál es el propósito de la función setState que retorna el hook useState?
3. ¿Cómo se establece el valor inicial del estado al usar el hook useState?
¡Gracias por tus comentarios!