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

190
Views
AsyncStorage.getItem devuelve valor cableado

Estoy usando Context/Asyncstorage para la gestión del estado. Almaceno los datos que regresaron del servidor al Asyncstorage.

 getData.then( res => AsyncStorage.setItem('user', JSON.stringify(res.data)) )

Y configuré el estado global del usuario con nombre en el proveedor global como se muestra a continuación.

 const [userState, userDispatch] = useReducer( user, userInitialState, async () => { const storedUserData = await AsyncStorage.getItem('user'); return storedUserData != null ? JSON.parse(storedUserData) : userInitialState; }, );

y aquí se obtiene el estado de usuario en otro componente

 const SomeComponent = () => { const {userState} = useContext(GlobalContext); useEffect ( () => { console.log(userState.name); // undefined console.log(userState._W.name); // sammie (correct) }, []) return <View></View> }

El problema es que el estado de la primera consola no está definido porque el estado del usuario se ve así

 { "_U": 0, "_V": 1, "_W": { "name": "sammie", "email": "sammie@test.com", "phone": "123123123" }, "_X": 0, }

El valor esperado es

 { "_U": 0, "_V": 0, "_W": 0, "_X": 0, "name": "sammie", "email": "sammie@test.com", "phone": "123123123" }

Probé con otro estado para la prueba. y cuando configuro el estado en useEffect hook como se muestra a continuación, regresa como se muestra arriba.

 useEffect ( () => { storeTheme('light')(themeDispatch); // store the light mode to the global theme state }, [])

La estructura de datos del estado de este tema no cambió como se indicó anteriormente. Estoy absolutamente conectado con esto. Por favor, dame un consejo en lo que estoy equivocado.

Gracias por cualquier consejo.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

 const [userState, userDispatch] = useReducer( user, userInitialState, async () => { const storedUserData = await AsyncStorage.getItem('user'); console.log(storedUserData); return storedUserData != null ? JSON.parse(storedUserData) : userInitialState; }, );

Intente iniciar sesión igual que arriba y verifique la salida. Siento que tal vez el equipo de api te envió el objeto de esta manera.

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!