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

[Bug] Bug ao atribuir contatosLocalStorage a this.contatos

Pessoal, em meus testes percebi que existe um bug na instrução abaixo.

    const contatosLocalStorageString = localStorage.getItem('contatos');
    const contatosLocalStorage = 
      contatosLocalStorageString ? JSON.parse(contatosLocalStorageString) : null;
      this.contatos = contatosLocalStorage || null;

Percebam que na primeira execução o local storage estará vazio, logo this.contatos será subsituído por null, e então ocorrerá o erro abaixo:

ERROR TypeError: Cannot read properties of null (reading 'filter') at _ListaContatosComponent.filtrarContatosPorLetraInicial (lista-contatos.component.ts:58:40) at ListaContatosComponent_For_9_Template (lista-contatos.component.html:22:7)

Sugiro a seguinte abordagem: Somente atribuir contatosLocalStorageString a this.contatos se contatosLocalStorageString não for nulo

    const contatosLocalStorageString = localStorage.getItem('contatos');
    const contatosLocalStorage = 
      contatosLocalStorageString ? JSON.parse(contatosLocalStorageString) : null;
      if (contatosLocalStorage !== null) {
        this.contatos = contatosLocalStorage || null;
      }

Provavelmente não ocorreu no momento de gravar o vídeo pois já existia dados no localStorage do navegador da instrutora. Espero que seja útil!

2 respostas
solução!

Esqueci de mencionar, se quiserem reproduzir o bug, basta limpar o localStorage e atualizar a página lista-contatos.

Trecho com problema:

        this.contatos = contatosLocalStorage || null;

Solução:

      if (contatosLocalStorage !== null) {
        this.contatos = contatosLocalStorage || null;
      }

Mais um detalhe, eu abri um pull request na branch correspondente a Aula 5. :)

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