¿Hay alguna manera de verificar la variable en el almacenamiento local?
Storage {user: 'undefined', new: '{"_id":"61dd228336a3923d2286b994","email":"ahmadsa…","updatedAt":"2022-01-11T06:24:03.675Z","__v":0}', lscache-localhost:preview:v20180702-cacheexpiration: '27376332', lscache-localhost:preview:v20180702: '{}', length: 4}Y, a veces, los datos pueden estar en la propiedad del usuario según el inicio de sesión del usuario. a continuación se muestra el inicio de sesión que devuelve la propiedad en el usuario
Storage {user: '{"team_members":{"memberFullname1":"memberFullname…","updatedAt":"2022-01-10T01:43:30.288Z","__v":0}', new: 'null', length: 2}¿Cómo puedo crear una condición que verifique ambas propiedades y solo devuelva las que contienen un valor?
Según el inicio de sesión del usuario, solo puedo usar una variable, ya sea nueva o de usuario. ¿No hay forma de que pueda verificar dos condiciones antes de procesar mis datos desde localStorage?
Este es el método que intento. Pero solo verifica la primera condición a pesar de que la segunda condición está allí, regresa. Error no detectado en Json.parse()
if (typeof Storage !== "undefined") { if (localStorage.getItem("new")) { setUser(JSON.parse(window.localStorage.getItem("new"))); } else if (localStorage.getItem("user")) { setUser(JSON.parse(window.localStorage.getItem("user"))); } return; }¿Hay alguna manera de que pueda verificar ambas condiciones? Su tiempo es realmente apreciado. por favor, soy un hermano que necesito ... Y, por último, ¿cómo puedo evitar que se vuelva a renderizar el estado?
Si user no está definido, haga new , si eso no está definido, haga {} , analice.
if (typeof Storage !== "undefined") { setUser(JSON.parse(localStorage.user || localStorage.new || '{}')); } Sin embargo, si observa new , no es lo mismo que user , en términos de estructura, por lo que es posible que desee corregir eso, de lo contrario, no son lo mismo.
Encontré que este código me permite verificar ambas condiciones y no devolvió un error como el anterior.
useEffect(() => { const fetchStates = async () => { const result = await axios( "https://nigerian-states-info.herokuapp.com/api/v1/states" ); setStates(result.data.data); }; fetchStates(); if (localStorage.user === "undefined") { return setUser(JSON.parse(localStorage.getItem("new"))); } else if (localStorage.new === "undefined") { return setUser(JSON.parse(localStorage.getItem("user"))); } }, [formData, user]);Finalmente, después de un montón de intentos y errores, finalmente llegué a esa parte. Quiero enviar mi más sincero agradecimiento a todos aquellos que se tomaron el tiempo y revisaron mis problemas, incluso aquellos que no llegaron a responder. Le envío MUCHAS GRACIAS especialmente a Lawrence Cherone, su idea fue de gran ayuda para dar forma a mi pensamiento. gracias a todos