Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida por nao ter passado evento como parâmetro

Olá, percebi que voce nao passou evento como parametro a funcao de useDeletarEvento, e funcionou, nao entendi agora rs fiz de um jeito diferente e deu certo tbm..

hooks/useRemoverEvento.ts

import { useSetRecoilState } from "recoil"
import { listaDeEventosState } from "../atom"
import { IEvento } from "../../interfaces/IEvento"

const useRemoverEvento = () => {

    const setListaState = useSetRecoilState(listaDeEventosState)

    return (evento: IEvento) => {
        setListaState(listaAntiga => listaAntiga.filter(evt => evt.id !== evento.id))
    }
}

export default useRemoverEvento

Evento/index.tsx

import React from 'react';
import { useSetRecoilState } from 'recoil';
import { IEvento } from '../../interfaces/IEvento'
import { listaDeEventosState } from '../../states/atom';
import style from './Evento.module.scss';
import EventoCheckbox from './EventoCheckbox';
import useRemoverEvento from '../../states/hooks/useRemoverEvento';

const Evento: React.FC<{ evento: IEvento }> = ({ evento }) => {

  const removerEvento = useRemoverEvento()

  const excluirEvento = () => {
    removerEvento(evento)
  }

  const estilos = [
    style.Evento
  ]

  if (evento.completo) {
    estilos.push(style.completo)
  }

  return (

    <div className={estilos.join(' ')}>

    <EventoCheckbox evento={evento}/>
    <div className="cards-info">
      <h3 className={style.descricao}>{evento.descricao} - {evento.inicio.toLocaleDateString()}</h3>
    </div>
    <i className="far fa-times-circle fa-2x" onClick={excluirEvento}></i>
  </div>
  )
}

export default Evento

agora se vai dar problema futuro nao sei, mas se a funcionalidade era somente deletar o item ali da parte de filtrar e do calendario deu certo rs

1 resposta
solução!

ahhh agora entendi, voce passou o evento na chamada da função excluirEvento ao clicar... esquece rs