1
resposta

Dúvida para entender a sintaxe function Lista({tarefas} : {tarefas: ITarefas[]})

Gente estou com dúvidas para entender essa sintaxe aqui:

function Lista({tarefas} : {tarefas: ITarefas[]})

Eu buguei nos sinais de :

Alguém poderia explicar detalhadamente o código acima?

Eu entendi algo assim, mas não tenho certeza. Um objeto vai ser passado por parâmetro para a função Lista. E esse objeto tem uma propriedade chamada tarefas Isso porque o essa parte { tarefas } extrai a propriedade tarefas do objeto, usando-se um destrutor.

A parte depois dos : eu fiquei em dúvida.

Eu sei que o sinal de : é usado no TypeScript para definir o tipo.

Então, não deveria ser algo nesse sentido? { tarefas } : ITarefas[]

Porque que precisa desse outro destructor? {tarefas: ITarefas[]}

1 resposta

Opa, tudo bom? quando usa-se o {} quer dizer que o array de ITarefas estará dentro de um objeto. por exemplo, você tem um código function Lista({tarefas} : {tarefas: ITarefas[]}), isso quer dizer que o parâmetro aceito é um objeto com um item nomeado tarefas ( { tarefas } ), e esse parâmetro pertence a interface {tarefas: ITarefas[]}, dentro dessa interface tem o item tarefas também que é do tipo ITarefas[]. portanto, quando você for chamar a função Lista você não pode apenas passar o array como parametro, mas sim um objeto com ele. Portanto, a chamada ficaria assim:

Lista({
    "tarefas": listaDeTarefas
})