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

[Dúvida] Atualização de itens na localStorage

Professor, poderia me explicar como a função atualizarTarefa() faz a atualização na localStorage?

2 respostas
solução!

Saaalve, Eduardo! Como vc tá, cara? Espero que vc esteja gostando de codar o Fokus!

Vamo lá pra sua dúvida? Vem comigo.

A função atualizarTarefas() é responsável por persistir o estado atual das tarefas no armazenamento local do navegador (localStorage).

function atualizarTarefas () {
    localStorage.setItem('tarefas', JSON.stringify(tarefas))
}

Vamos agora explorar tudo isso que definimos nessa função?

  • localStorage: Este é um objeto de armazenamento web que permite que os sites armazenem dados no navegador do usuário. Os dados persistem mesmo após o fechamento da janela ou aba do navegador.
  • localStorage.setItem(chave, valor): Este método é usado para armazenar dados no localStorage. Ele aceita dois parâmetros:
    • chave: Uma string que serve como identificador para os dados armazenados.
    • valor: O dado a ser armazenado, que deve ser uma string.
  • 'tarefas': Esta é a chave usada para identificar os dados das tarefas no localStorage.
  • JSON.stringify(tarefas): Esta função converte o array tarefas em uma string JSON. Isso é necessário porque o localStorage só pode armazenar strings.
  • tarefas é um array de objetos que representa as tarefas cadastradas pelo usuário.
  • JSON.stringify() converte este array em uma representação de string que pode ser posteriormente parseada de volta para um objeto JavaScript.

Quando esta função é chamada, ela de fato salva o estado atual do array tarefas no localStorage do navegador. Isso permite que os dados das tarefas persistam entre sessões de navegação, mantendo o estado da aplicação mesmo após o usuário fechar e reabrir o navegador.

Obrigado professor, mas assim, como ela faz a atualização da localStorage? Como no codigo abaixo: btnLimparTarefasConcluidas.addEventListener("click", () =>{ let apagarTarefas = document.querySelectorAll(".app__section-task-list-item-complete") apagarTarefas.forEach(elemento =>{ elemento.remove() }) tarefas = tarefas.filter(element => !element.completa) atualizarTarefa() })