Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

86
Vistas
Obtenga artículos de localStorage y expórtelos

Tengo una función donde toma campos almacenados en estado y los devuelve si existen.

 export const hasNameAndTokenSelector = (state) => { const { fields } = baseInputsSelector(state); const hasName = !isNil(prop('name')(fields)); const hasToken = !isNil(prop('token')(fields)); return hasName && hasToken; };

Pero ahora necesito usar esta misma función para obtener elementos almacenados en localStorage. Estoy tratando de hacer lo siguiente:

 export const hasNameAndTokenSelector = (state) => { if (localStorage.getItem('inputs') !== null) { const localInputs = JSON.parse(localStorage.getItem('inputs')); const hasToken = localInputs[0].token; const hasName = localInputs[0].name; return hasName && hasToken; } };

El formato de entradas locales es:

 { "name":"John Doe", "token":"string123-9882", }

Pero no funciona, creo que es porque necesito el parámetro de estado y el retorno está dentro de un si, pero no sé la forma correcta de proceder.

¿Cómo debo obtener estos artículos almacenados y devolverlos? Necesito usar hasNameAndTokenSelector en otro archivo.

¡¡Gracias!!

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Del comentario anterior...

" ... revisión de código ... dado que el nombre de la función es hasNameAndTokenSelector , se espera que siempre devuelva un valor booleano, ni una vez [el valor predeterminado undefined ], ni ninguno de los valores de cadena localInputs.token / localInputs.name ".

Por lo tanto, para resolver el problema original del OP...

"¿Cómo debo obtener estos artículos almacenados y devolverlos?"

... el enfoque proporcionado por el OP podría refactorizarse mejor en dos funciones, una que cumple con la parte getNameAndToken y otra que cubre la parte ya existente hasNameAndToken ...

 // `storedInputs` structure ... // { // "name":"John Doe", // "token":"string123-9882", // } export const getNameAndToken = () => { const storedInputs = localStorage.getItem('inputs'); return (storedInputs !== null) && JSON.parse(storedInputs) || {}; }; export const hasNameAndToken = () => { const { name, token } = getNameAndToken(); return !!(name && token); }; // usage in other modules import { getNameAndToken/*, hasNameAndToken*/ } from '/' const { name, token } = getNameAndToken();
about 4 years ago · Juan Pablo Isaza Denunciar

0

Si su formato localInputs es un objeto

 { "name":"John Doe", "token":"string123-9882", }

Simplemente debe tomar una propiedad de este objeto, no de localInputs[0] :

 const hasToken = localInputs.token; const hasName = localInputs.name;
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda