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

Não entendi a função atualiza()

Não consegui entender como funciona essa função, se não foi passado nenhum parâmetro, nenhuma regra para ela acontecer, como ela funciona?

2 respostas

Oi, Márcia, então

vc tem em criaTarefa.js

import BotaoConclui from './concluiTarefa.js'

//...

tarefa.appendChild(BotaoConclui(carregaTarefa, id))

e em concluiTarefa.js

const concluirTarefa = ( atualiza, id ) => {

   //...

    atualiza(); // foi passada uma função como parâmetro

}

Neste caso acima a função carregaTarefa foi passada como parâmetro

Seria o mesmo que fazer isso

const concluirTarefa = ( id ) => {

   //...

    carregaTarefa(); // esta função atualiza os dados

}
solução!

Márcia, eu também não tinha entendido a questão do atualiza e vim aqui no fórum e vi sua questão.

Vendo a explicação do Luis, a principio me pareceu ainda confuso, mas em seguida eu me toquei da questão toda.

É que quando definimos o parâmetro, o que se coloca dentro dos parenteses como parâmetro é apenas um nome aleatório, um "recipiente", que pode assumir qualquer valor. é como um X numa equação. Nesse caso o X é a palavra "atualiza", que assumira a "forma" da função que será passada como parâmetro.

Poderia, por exemplo, ter dado o nome dela de "xis" no parâmetro, e em seguida dentro da função, ser chamada usando "xis( )". Quando passa o parâmetro carregaTarefa, por exemplo, o xis( ) executa carregaTarefa( ). Mas quando passa outra função como parâmetro, ele executa essa outra, e assim por diante.

Na aula, o instrutor chamou o atualiza( ) antes de definir atualiza como parâmetro e isso é que me confundiu. Se ele tivessse feito o contrário, talvez tivesse evitado a confusão.

Não sei se eu ajudei ou compliquei, mas de qualquer forma, obrigado Luis pela ajuda e obrigado Márcia por dividir a dúvida.