Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como useState

React: estados que no son estados

¿Se puede modificar un Array x de estado (useState) manualmente (sin usar setX, sino asignar algo en una posición) y tener garantía de que la llamada al hook de estado del Array x en la siguiente renderización va a darnos el Array con el cambio incorporado? No, Gabriel: no tenés garantía de que modificar manualmente el array de estado (ej. x[0] = 123 ) se refleje en el próximo render. 📌 Por qué En React, el valor que devuelve useState es inmutable a nivel conceptual : React espera que lo trates como un snapshot. Si mutás el array directamente, React no se entera de que hubo un cambio, porque la referencia del objeto sigue siendo la misma. El render siguiente se dispara solo cuando llamás a setX con una nueva referencia. 📌 Qué puede pasar si mutás manualmente Caso 1: No hay re-render → React no detecta cambios, el componente no se vuelve a renderizar, y el hook devuelve el mismo array (aunque internamente esté mutado). Caso 2: Hay re-render por otra causa (ej. otro estado cambió...

useState vs useRef vs variables globales

  Si un componente de React tiene un useState que no se usa para el renderizado ¿Hay que trasladar el useState a una variable global? Muy buena observación, Gabriel 👌. La respuesta corta es: no necesariamente . Depende de qué propósito tenga ese useState . 🔹 Cómo funciona useState Cada vez que llamás a setState , React vuelve a renderizar el componente si ese estado se usa en el JSX . Si el estado no afecta el renderizado , igual se guarda en la memoria interna del componente, pero no genera cambios visibles. 🔹 Casos donde NO hace falta trasladarlo a global Si el estado es temporal o local (ej. un contador interno, un flag de validación, un índice de iteración). Si solo lo usa ese componente y no importa fuera de él. 👉 En ese caso, podés dejarlo como useState aunque no se refleje en el JSX. 🔹 Casos donde SÍ conviene moverlo Si el estado debe sobrevivir entre cambios de página o desmontajes del componente . Si varios componentes distintos necesitan acceder al mismo valor....