1
resposta

[Bug] Utilizei as mesmas técnicas porém o filtro não funciona pro calendário

//ListaDeEventos/index.tsx

import React from 'react'; import Evento from '../Evento'; import Filtro from '../Filtro'; import style from './ListaDeEventos.module.scss'; import useListaDeEventos from '../../state/hooks/useListaDeEventos';

const ListaDeEventos: React.FC = () => {

const eventos = useListaDeEventos();

return (

{eventos.map(evento => ( ))}
) }

export default ListaDeEventos

//hook/UseListaDeEventos.ts

import { useRecoilValue } from "recoil"; import { eventosFiltradosState } from "../seletores";

const useListaDeEventos = () => { return useRecoilValue(eventosFiltradosState) }

export default useListaDeEventos

//select/index.ts

import { selector } from "recoil"; import { filtroDeEventos, listaDeEventosState } from "../atom";

export const eventosFiltradosState = selector({ key: 'eventosFiltradosState', get: ({ get }) => { const filtro = get(filtroDeEventos) const todosOsEventos = get(listaDeEventosState) const eventos = todosOsEventos.filter(evento => { if (!filtro.data) { return true } const ehOMesmoDia = filtro.data.toISOString().slice(0, 10) === evento.inicio.toISOString().slice(0, 10) return ehOMesmoDia }) return eventos } })

1 resposta

Bom dia, manda o código completo ai no github!