Fiz o código da aula citada no título, mas quando tentei rodar recebi esse erro:
TS2345: Argument of type '(listaAntiga: IEvento[]) => (IEvento | IEvento[])[]' is not assignable to parameter of type 'IEvento[] | ((currVal: IEvento[]) => IEvento[])'.
Type '(listaAntiga: IEvento[]) => (IEvento | IEvento[])[]' is not assignable to type '(currVal: IEvento[]) => IEvento[]'.
O trecho de código em questão:
const setListaDeEventos = useSetRecoilState<IEvento[]>(listaDeEventosState)
const alterarStatus = () => {
const eventoAlterado = {
...evento
}
eventoAlterado.completo = !eventoAlterado.completo;
setListaDeEventos(listaAntiga => {
const indice = listaAntiga.findIndex(evt => evt.id === evento.id)
return [...listaAntiga.slice(0, indice), eventoAlterado, listaAntiga.slice(indice + 1)]
})
}
Versões dos programas/pacotes: "recoil": "^0.7.6", "react": "^17.0.2", node --version: v18.14.0 npm -v: 9.3.1
Onde e como eu devo corrigir essa tipagem?