Lectura y escritura de localStorage en React
Acceda de forma segura a localStorage en hooks de React, gestione entornos SSR y serialice estados complejos.
Lectura y escritura de localStorage en React es una lección gratuita de React Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de React Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de React Academy incluye 4 lecciones en total.
La API de localStorage
localStorage es un almacén integrado del navegador con cuatro métodos principales: setItem(key, value), getItem(key), removeItem(key) y clear(). Los datos persisten al recargar la página y reiniciar el navegador.
Vive en el objeto window y está limitado por origen, lo que significa que cada dominio tiene su propio almacenamiento aislado.
Es síncrono y bloqueante
Cada llamada a localStorage se ejecuta de forma síncrona en el hilo principal. Leer o escribir grandes cantidades de datos puede bloquear el renderizado y hacer que la interfaz se perciba entrecortada.
Por eso, mantenga pequeños los valores almacenados y evite escribir en cada pulsación de tecla o evento de desplazamiento.
Solo almacena cadenas
localStorage solo puede contener cadenas. Para almacenar un objeto o un array, primero debe serializarlo con JSON.stringify(value) antes de llamar a setItem.
Si almacena directamente un valor que no sea una cadena, se convierte implícitamente, por lo que un objeto se convierte en la cadena inútil [object Object].
Analizar con gestión de errores
Al leer, llame a JSON.parse(localStorage.getItem(key)), pero el análisis puede lanzar una excepción si la cadena almacenada está dañada o fue escrita por otra fuente.
Envuelva el análisis en un try/catch y use un valor predeterminado como alternativa para que una entrada incorrecta no bloquee el componente.
Comprobar la disponibilidad
localStorage no siempre se puede usar: durante el renderizado del lado del servidor, window no existe, y algunos modos de navegación privada lanzan una excepción al escribir. Proteja el acceso con una comprobación de funcionalidad.
Una prueba segura consiste en un try/catch que establezca y elimine una clave ficticia, y devuelva false si se produce una excepción.
El límite de capacidad de ~5 MB
La mayoría de los navegadores limitan localStorage a aproximadamente cinco megabytes por origen. Superar este límite provoca un QuotaExceededError al escribir.
Esto hace que localStorage sea adecuado para datos pequeños, pero una mala opción para imágenes, conjuntos de datos grandes o respuestas de API almacenadas en caché.
Datos adecuados
Son buenos candidatos las partes pequeñas y no sensibles de la interfaz y del estado del usuario: la preferencia de tema, el estado contraído de la barra lateral, los últimos filtros utilizados, los banners descartados y los borradores de formularios sin guardar.
Son valores que desea conservar tras recargar, pero que no necesitan un viaje de ida y vuelta al servidor.
Datos inadecuados
Evite almacenar secretos como tokens o contraseñas, porque cualquier script de la página puede leer localStorage, lo que lo hace vulnerable a XSS. Evite también los objetos grandes y el estado autoritativo del servidor.
Los datos de autenticación sensibles pertenecen a cookies httpOnly, y los datos canónicos deben estar en el servidor.
localStorage frente a sessionStorage
Ambos comparten la misma API, pero sessionStorage se borra cuando se cierra la pestaña y no se comparte entre pestañas. localStorage persiste indefinidamente y se comparte entre todas las pestañas del mismo origen.
Elija sessionStorage para datos específicos de una pestaña y de corta duración, y localStorage para preferencias duraderas.
frente a Cookies e IndexedDB
Las cookies son pequeñas y se envían con cada solicitud HTTP, lo que resulta adecuado para la autenticación, pero desperdicia ancho de banda cuando se usan para datos generales. IndexedDB es una base de datos asíncrona para datos grandes y estructurados, muy por encima del límite de 5 MB.
Elija cookies para datos de autenticación que deba leer el servidor, localStorage para pequeñas preferencias del cliente e IndexedDB para datos grandes o complejos.
Un patrón sencillo de lectura y escritura
Una utilidad auxiliar mínima escribe con localStorage.setItem(key, JSON.stringify(value)) y lee mediante un try/catch protegido alrededor de JSON.parse(localStorage.getItem(key)), devolviendo un valor predeterminado si se produce un error.
Este pequeño envoltorio mantiene la serialización y el control de errores en un solo lugar.
Comprobación rápida
Compruebe su comprensión de los tipos de datos de localStorage.
Resumen
Ha aprendido la API de localStorage, que es síncrona, solo admite cadenas y está limitada a cerca de 5 MB, además de cómo analizar datos de forma segura y comprobar su disponibilidad para SSR y el modo privado.
También la comparó con sessionStorage, las cookies e IndexedDB para elegir el almacén adecuado.
Preguntas frecuentes
¿La lección «Lectura y escritura de localStorage en React» es gratis?
Sí — el texto completo de «Lectura y escritura de localStorage en React» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de React Academy, actualiza a CoddyKit PRO. El curso de React Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Lectura y escritura de localStorage en React»?
Acceda de forma segura a localStorage en hooks de React, gestione entornos SSR y serialice estados complejos. Practicas React Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar React Academy?
No se requiere experiencia previa. React Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Lectura y escritura de localStorage en React»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de React Academy?
Sí. Cada lección de React Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Lectura y escritura de localStorage en React
- Sincronización del estado con localStorage
- Gestión de eventos de almacenamiento entre pestañas
- sessionStorage, IndexedDB y elección de la API adecuada