¿Alguien podría decirme cómo pasar una serie de fechas deshabilitadas al calendario?
busque pero no encontre como hacerlo
https://www.npmjs.com/package/react-calendar
import React, { useState, useEffect} from 'react'; import Api from '../../services/api'; import Calendar from 'react-calendar'; import { useParams } from "react-router-dom"; import 'react-calendar/dist/Calendar.css'; function MyApp() { const { id } = useParams(); const [value, onChange] = useState(new Date()); const [disabledDates, setDisabledDates] = useState([]); useEffect(() => { loadDisabledDates(); }, []); function loadDisabledDates() { Api .get("/dates/"+id) .then((response) => { setDisabledDates(response.data); }) .catch((err) => { console.error("error: " + err); }); } return ( <div> <Calendar onChange={onChange} value={value} /> </div> ); }Editar: al desplazarse más abajo en la documentación, también hay un accesorio llamado tileDisabled . Así que esa es probablemente tu respuesta.
Primera respuesta: parece, según la documentación, que su mejor apuesta es usar los accesorios disponibles onClickDay , onClickMonth , etc.
const handleClickDay = (e) => { if(disableDates.includes(e.target.value)){ alert('this date is disabled') }else{ //do something with the date } } return( <Calendar onChange={onChange} value={value} onClickDay={handleClickDay} /> )No he usado esta biblioteca, así que no estoy seguro de que e.target.value le proporcione exactamente los datos, pero debería ser algo como esto.