Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro em remove-livros.js

Estou recebendo o seguinte erro quando tento deletar um livro da lista:

TypeError: Cannot read property 'remove' of null
    at fetch.then.resposta (remove-livros.js:11)

Pelo que vi, meu código está igual ao disponibilizado, 'tr' recebe um valor undefined.

let tabelaLivros = document.querySelector('#livros');
tabelaLivros.addEventListener('click', (evento) => {
    let elementoClicado = evento.target;

    if(elementoClicado.dataset.type == 'remocao'){
        let livroId =  elementoClicado.dataset.ref;
        fetch(`http://localhost:3000/livros/${livroId}`, {method: 'DELETE'})
        .then(resposta => {
            let tr = elementoClicado.closest(`#livro_${livroId}`);
            tr.remove();
        })
        .catch( erro => console.log(erro));
    }
} )

O item é removido, mas a mudança só aparece ao recarregar a página.

Agradeço desde já pela atenção!

1 resposta
solução!

Descobri, sabia que seria algo besta...

No caso, eu escrevi errado o id da linha em lista.marko Estava

tr id=`$livro_{livro.id}` for(livro in data.livros)>

Quando o correto deveria ser:

tr id=`livro_${livro.id}` for(livro in data.livros)>

Por isso a função closest não conseguia encontrar o elemento html com esta id.

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