Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

95
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!