Я использую календарь FullReact (https://fullcalendar.io/docs/react) в своем компоненте оболочки (Календарь):
const Calendar = (props) => {
const [isMonthlyViewEnabled, setIsMonthlyViewEnabled] = useState(true);
return (
<Card fluid>
<Card.Content>
<FullCalendar
defaultView={isMonthlyViewEnabled ? "dayGridMonth" : "timeGridWeek"}
plugins={[dayGridPlugin, timeGridPlugin]}
events={props.events}
/>
</Card.Content>
<Card.Content extra>
<Button primary>Add Appointment</Button>
<Button color={'green'} onClick={() => setIsMonthlyViewEnabled(!isMonthlyViewEnabled)}>
Switch to {isMonthlyViewEnabled ? "weekly" : "monthly"} view
</Button>
</Card.Content>
</Card>
);
};
Первоначально на кнопке будет отображаться текст: ' Переключиться на еженедельный просмотр '. После щелчка он перевернет isMonthlyViewEnabled и переключит название кнопки на «Переключиться на месячный просмотр» , а по умолчанию для FullCalendar - «timeGridWeek».
Однако, когда я нажимаю кнопку текст кнопки меняется, как и ожидалось (поэтому я знаю, что состояние работает правильно), но представление FullCalendar по умолчанию не меняется. Кто-нибудь знает, как я могу сделать рендеринг компонента FullCalendar с надлежащим defaultView?