Persistência de dados com localStorage
Olá, pessoal. Como o professor usou o localstorage na aula do dia 6/12, vou aproveitar para falar um pouco sobre.
O localStorage é uma implementação do HTML5 e com ele nos conseguimos criar listas e fazer com que os dados se tornarem persistentes, ou seja, elas ficam salvos no navegador do usuário e mesmo que você feche o navegador ou reinicie seu computador a sua lista vai continuar salva.
- Salvar dados
Uma das maneira de salvar um dado é usando o método setItem() que contém dois parâmetros: chave(nome da variável) e valor(conteúdo da variável)
<script>
LocalStorage.setItem("nome", "Daniel")
</script>
para visualizar a informação salva aperte F12(estou usando o chrome), clique em Application e procure por local storage. Lá estará o nome salvo.
- Recuperando/pegar dados
Para recuperar os dados usamos localStorage.getItem() chamando o parâmetro chave.
Eu irei colocar a informação salva dentro de uma variável e exibir no Console.
<script>
let nome = localStorage.getItem("nome")
console.log(nome);
</script>
- Remover dados do LocalStorage
Para remover temos os métodos removeItem() que é utilizado para apagar o conteúdo de uma variável e clear() que remove todas as variáveis.
<script>
localStorage.removeItem("nome")
</script>
- Manipulando Lista no localStorage
<script>
function adicionarNome() {
// Recuperamos a lista atual do localStorage usando JSON.parse para transformar
uma string em objeto, caso a lista esteja vazia criamos somente um array vazio []
var listaNomes = JSON.parse(localStorage.getItem("listaNomes")) || [];
let nome = prompt("adicione um nome");
// Adicionamos a variável nome à lista para salvar o nome de uma nova pessoa
listaNomes.push(nome);
// Atualiza a lista no localStorage usando JSON.stringify para tranformar um objeto
em uma string json
localStorage.setItem("listaNomes", JSON.stringify(listaNomes));
}
adicionarNome();
</script>
Matheus Panobianco @matheus_panobiancoParabéns pelo texto @DanielCarvalho . Só para complementar, ao trabalhar com localStorage é bom salientar a obrigatoriedade de lidar com strings nos dados. Quando você salva dados usando o setItem(), tanto a chave quanto o valor são tratados como strings. Quando temos tipos de dados diferente de strings, como números ou objetos, temos que usar JSON.stringify() ao salvar e JSON.parse() ao recuperar os dados, como você exemplificou.
Daniel Carvalho @DanielCarvalhoVerdade. Obrigado pela contribuilçao @matheus_panobianco
Em resposta aDanielCarvalho⬆:Marcele Eller Gusmão Moura @marceleellerÓtima explicação sobre o uso do localStorage, e é excelente ver como você trouxe um exemplo prático relacionado à aula recente.
É importante mencionar que o localStorage tem um limite de armazenamento, geralmente em torno de 5 a 10 MB por domínio, dependendo do navegador. Isso é crucial considerar ao decidir o que e quanto armazenar localmente.
Além de armazenar strings simples, o localStorage também pode ser utilizado para salvar objetos e arrays. Inclusive foi uma solução importantíssima pra resolver o desafio do Fast Track. Exemplo:
// Exemplo de salvamento de objeto let pessoa = { nome: "Daniel", idade: 25 }; localStorage.setItem("pessoa", JSON.stringify(pessoa)); // Recuperando o objeto let pessoaSalva = JSON.parse(localStorage.getItem("pessoa")); console.log(pessoaSalva);
Daniel Carvalho @DanielCarvalhoNão sabia do limite de armazenamento. Obirgado pela contribuição, @marceleeller.
Em resposta aDanielCarvalho⬆:Nilwan Grisosti @nilwanBacana demais, @DanielCarvalho! Obrigado por compartilhar esse conhecimento.