Vengo de Java Dev y soy nuevo en JavaScript, ¿alguien puede explicarme qué está pasando?
Estoy usando localStorage para almacenar mi token en mi navegador.
localStorage.token = 'xxx'Cuando los usuarios cierran sesión, eliminamos el token, aquí está el código
localStorage.token = nullSi queremos comprobar si el usuario está autenticado o no, comprobamos el token
const isAuth = localStorage.token !== null Aquí es que la cosa se vuelve rara para mí. Después de marcar localStorage.token como null ,
el resultado de localStorage.token !== null sigue siendo cierto !
había investigado un poco,
localStorage el objeto localStorage y descubrí que la variable token es "null" en lugar de null .
Aquí está mi suposición.
Cuando el navegador necesita almacenar el almacenamiento local, itera dentro de los campos del objeto, después de encontrar el objeto null , ¿usa toString para almacenar el formulario final?
proporcione un valor o sobrescriba el presente en el almacenamiento local con el elemento de conjunto de funciones, como el código a continuación:
localStorage.setItem('token' , 'your token here ');y para acceder al valor:
localStorage.getItem('token') window.console.log("token :",localStorage.getItem('token'))El almacenamiento local en los navegadores solo funciona en los tipos de cadena
localStorage.getItem('someItem'); localStorage.setItem('someItem', 'string value'); localStorage.removeItem('someItem');Use métodos de almacenamiento local para configurar, obtener y eliminar tokens.
Consulte este enlace para obtener más detalles: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
Y para verificar si el token existe o no, puede hacer esto:
const isAuth = !!localStorage.token