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

Segundo parâmetro do formaAdicionarTarefa

Olá devs, tudo bem? Sempre tenho confusões com parâmetros, luto bastante para entender kkkk. Diante disso minha dúvida fica no segundo parâmetro passado para formaAdicionarTarefa, logo após o 'submit', na função citada é passado entre parenteses o nome 'evento'. Gostaria de entender o que esse evento representa? Queria deixar claro que entendo e sei que o nome 'evento' passado entre parénteses poderia ser qualquer outro que não alteraria o código, poderia ser qualquer nome. Porém a dúvida em si é, o que fica dentro dos paréntes representa? se qualquer nome passado tenho a mesma funcionalidade, não entendo oq representa oq fica dentro dos parenteses (no caso do código abaixo 'evento')

formaAdicionarTarefa.addEventListener('submit', (`evento`) => {
    evento.preventDefault();
})
3 respostas
solução!

Salve, João!

O ponto principal desse código não são os parenteses em si. Nesse cenário, estamos passando uma função como segundo parâmetro. Acompanha comigo outras formas de fazer a mesma coisa, acho que podem te ajudar a entender:


const aoSubmeterFormulario = (evento) => {
    evento.preventDefault();
}

formaAdicionarTarefa.addEventListener('submit', aoSubmeterFormulario)

Ou então:


function aoSubmeterFormulario(evento) {
    evento.preventDefault();
}

formaAdicionarTarefa.addEventListener('submit', aoSubmeterFormulario)

Então, o segundo parâmetro é uma função que será chamada quando o form for submetido. E essa função que vai ser chamada recebe como parâmetro o evento do JavaScript :)

E ah, tem um curso incrível da Ju que fala sobre um monte de coisas legais sobre JavaScript, inclusive funções:

Dá uma olhada depois, acho que vai te ajudar e você vai curtir :)

E não se preocupe, no começo tudo é novidade e faz parte da nossa vida de dev ;)

Olá João.

Eu também tive um pouco de dificuldades para entender este parâmetro "evento". Mas depois de pesquisar um pouco percebi que não é tão complicado assim.

O que acontece é que toda vez que ocorre uma interação na tela, seja por meio de um submit, click, focus, qualquer que seja, um evento é disparado contendo informações sobre quem disparou esta interação. Ou seja, usando a função que você mencionou, o 'evento' vai conter informações sobre o formulário formAdicionarTarefa, que foi capturado pelo comando document.querySelector('.appform-add-task'), lembra?

Para você conseguir visualizar isso, altere o comando para:

formAdicionarTarefa.addEventListener('submit', (evento) => {
    evento.preventDefault();
    console.log(evento)
})

Daí, abre o programa na url, aperte o botão adicionar nova tarefa, insira um texto qualquer, e depois clica em salvar. Na aba console você vai conseguir ver as informações sobre o formulário. Afinal, foi o formulário quem disparou o evento submit. Tem várias informações, e funções também, que podemos usar com este 'evento', como o preventDefault() mostrado no curso. Outra coisa, se você quer ver as coisas de forma mais específica ainda, digite o seguinte código e faça o mesmo processo.

formAdicionarTarefa.addEventListener('submit', (evento) => {
    evento.preventDefault();
    console.log(evento.target)
})

Uma das propriedades é o target, que retorna apenas quem disparou o evento, nesse caso o form, junto com suas tags filhas.

Espero que tenha entendido. E espero que eu não tenha dito nada errado kkk.