Pessoal, estou tomando esse erro no console quando tento salvar um novo livro... O que pode estar errado?
TypeError: Cannot read property 'titulo' of undefined
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Pessoal, estou tomando esse erro no console quando tento salvar um novo livro... O que pode estar errado?
TypeError: Cannot read property 'titulo' of undefined
Orlando, boa tarde!
Qual é o valor que você tem no seu livro? Acredito que ele está vazio
Aguardo sua resposta e bons estudos!
Boa tarde, Orlando! Como vai?
Como o Felipe disse anteriormente o livro deve estar indefinido! Contudo, só saberemos a causa exata vendo o seu código! Vc poderia compartilhar o projeto completo com a gente colocando ele no github e mandando o link aqui? Assim poderemos tentar te ajudar de forma mais efetiva!
Outro detalhe importante! Em que momento esse erro ocorre? O que vc tentou fazer?
Qualquer coisa é só falar!
Grande abraço e bons estudos, meu aluno!
Boa tarde, Felipe, tudo certo?
Segue minha classe DAO:
adiciona(livro) {
return new Promise((resolve, reject) => {
this._db.run(`
INSERT INTO livros (
titulo,
preco,
descricao
) values (?,?,?)
`,
[
livro.titulo,
livro.preco,
livro.descricao
],
function (err) {
if (err) {
console.log(err);
return reject('Não foi possível adicionar o livro!');
}
resolve();
}
)
});
}
e meu arquivo de rotas:
class LivroDao{
constructor(db) {
this._db = db;
}
app.post('/livros',function(req,resp){
const livroDao = new LivroDao(db)
livroDao.adiciona(req.body)
.then(resp.redirect('/livros'))
.catch(erro => console.log(erro));
});
@Gabriel, o erro acontece quando tento adicionar um novo livro no banco.
Segue o link para download do código: https://drive.google.com/file/d/18C1gThaAsxsw88dXVOuJT_E19LM5BMjN/view?usp=sharing
Pessoal, descobri o problema: No arquivo custom-express.js o método use() com a instância de bodyParser como parâmetro precisa ser declarado antes do objeto que recebe as rotas.