в календаре мне нужно, чтобы даты, которые больше startDay и меньше endDay, принимали неактивный, зачеркнутый вид, этого я достигаю через функцию disabledDateHandler. Помогите, правильно рассчитать endDay, необходимо, чтобы были доступны даты от выбранного дня (допустим сегодняшнего) и на 6 месяцев ранее, но тоже строго до этого дня, то есть, например, от 22.01.2021 до 22.07.2020
const dateStr = useSelector(getDate); // приходит строка вида 2020-11-22 допустим
const generateEndDate = (date, number) => {
return new Date(date.getFullYear(), date.getMonth(), date.getDate() + number);
};
const [startDay, endDay] = useMemo(() => {
const [year, month, day] = dateStr.split('-');
const start = new Date(year, month - 1, day);
return [start, generateEndDate(start, -180)];
}, [dateStr]);
сonst disabledDateHandler = useCallback(
date => date > startDay || date < endDay : date > new Date(),
[startDay, endDay],
);
<DatePicker
format={format}
locale={locale}
block={block}
placement={placement}
disabled={disabled}
appearance={isBorderHidden ? 'subtle' : 'default'}
cleanable={cleanable}
value={valueDate}
isoWeek
disabledDate={disabledDateHandler}
{...rest}
/>