1
resposta

Key no localStorage logado não está mudando para false.

Estou tendo problemas quando vou atualizar a página, ai no local Storage a key de logado, não muda para false quando vou fazer o logout ele fica com value como true. Segue abaixo o código

let logado = JSON.parse(localStorage.getItem("logado"));

LoginUsuario_render({
  logado: logado,
  usuario: localStorage.getItem("nomeUsuario"),
  onLogin: (nomeUsuario) => {
    logado = true
    localStorage.setItem("logado", true)
    localStorage.setItem("nomeUsuario", nomeUsuario)
  },
  onLogout: () => {
    logado = false
    localStorage.getItem("logado", false)
    localStorage.removeItem("nomeUsuario", undefined);
  }
});

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Daniel, tudo bem?

Desculpe a demora em retornar.

Pelo código que você compartilhou, parece que o problema está no trecho onde você atualiza o valor da chave "logado" no localStorage. Mais especificamente, na função "onLogout". Ao invés de utilizar o método "setItem" para atualizar o valor, você utilizou o método "getItem" e passou o valor "false" como parâmetro.

A função "getItem" serve para obter o valor de uma chave do localStorage, e não para atualizá-la. Já o método "setItem" é utilizado para definir o valor de uma chave no localStorage. Portanto, para corrigir o problema, basta substituir a linha "localStorage.getItem("logado", false)" por "localStorage.setItem("logado", false)" na função "onLogout", como segue:

onLogout: () => {
  logado = false
  localStorage.setItem("logado", false)
  localStorage.removeItem("nomeUsuario", undefined);
}

Com essa correção, ao chamar a função "onLogout", o valor da chave "logado" no localStorage será atualizado para "false", como você espera.

Espero que essa explicação tenha sido útil e clara para você.

O post foi fechado pois o curso foi desativado e não faz mais parte da grade oficial.