Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] Dúvida sobre o funcionamento do localStorage

Gostaria de saber por que apenas o conteúdo do array que foi adicionado no localStorage e não o array inteiro? O array posterior não deveria sobrescrever o array anterior?

4 respostas

Salve, Heitor!

Na realidade a gente coloca sempre o array inteiro, repara:


        localStorage.setItem('tarefas', JSON.stringify(tarefas))

O único detalhe é que a gente transforma ele numa string usando JSON.stringify :)

Então, por que o array não sobrescreve o anterior? Não entendo essa parte.

solução!

Esse é o detalhe, Heitor!

O localStorage.setItem é uma função bem legal que a gente usa para guardar dados no armazenamento local do navegador. Pensa nisso como uma gaveta secreta no seu navegador, onde você pode guardar coisas e elas ficam lá, mesmo se você fechar e abrir o navegador de novo.

Agora, sobre a sua dúvida: sempre que você usa o localStorage.setItem com uma chave (nome) específica, o valor associado a essa chave é atualizado para o novo valor que você está definindo. É tipo quando você tem um post-it na geladeira e escreve algo novo nele, substituindo a mensagem antiga.

Vamos a um exemplo prático:


localStorage.setItem('meuItem', 'valor1');
localStorage.setItem('meuItem', 'valor2');

Primeiro, você criou uma chave chamada 'meuItem' com o valor 'valor1'. Depois, você usou a mesma chave 'meuItem', mas desta vez com o valor 'valor2'. O que acontece? O 'valor1' é substituído por 'valor2'. Então, se você for verificar o que está em 'meuItem', vai encontrar 'valor2'.

Se você quiser manter o valor antigo e adicionar um novo, você precisa usar uma chave diferente. Tipo assim:


localStorage.setItem('meuItem1', 'valor1');
localStorage.setItem('meuItem2', 'valor2');

Aqui, 'meuItem1' tem 'valor1' e 'meuItem2' tem 'valor2'. Ambos os valores estão seguros e armazenados separadamente.

Então, é isso!

O localStorage.setItem é super útil para guardar coisas, mas lembre-se: se usar a mesma chave, o valor antigo vai dar tchau e ser substituído pelo novo.

Entendi, obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software