Salve, pessoal!
No hook customizado criado pelo Vinicios, ele seta o setState do Recoil e depois retorna uma arrow function.
export default function useAlterarEvento(){ //essa primeira linha prefiro assim, hehe
const setListaEventos = useSetRecoilState<IEvento[]>(listaEventosState)
return (evento :IEvento) => {
setListaEventos(listaAntiga => {
const indice = listaAntiga.findIndex(evt => evt.id === evento.id)
return [...listaAntiga.slice(0, indice), evento, ...listaAntiga.slice(indice + 1)]
})
}
}
Ok. Acho que nunca tinha visto dessa forma, mas consegui entender. Só que fiquei na dúvida como que a variável evento
chega ali, já que ela não tá sendo "recebida" na function useAlterarEvento... Ela não deveria estar entre parênteses depois da declaração dela? Isso tem nome? Por que esse comportamento? Como posso pesquisar mais sobre o assunto?