Я попытался очистить даты в airbnb / response-date DateRangePicker, реализовав кнопку «Очистить», которая после нажатия на нее установит состояние startDate и endDate на null. такие хуки:
const [dateState, setDateState] = useState({
setStartDate: null,
setEndDate: null,
});
const onClearDates = () => {
setDateState({
setStartDate: null,
setEndDate: null
});
}
<DateRangePicker
item={calenderItem}
startDateId="checkinId"
endDateId="checkoutId"
numberOfMonths={1}
startDate={
dateState.setStartDate ? moment(dateState.setStartDate) : null
}
endDate={
dateState.setStartDate ? moment(dateState.setStartDate) : null
}
startDatePlaceholderText="Check-in"
endDatePlaceholderText="Check-out"
item={calenderItem}
updateSearchData={value => onCheckDatesChange(value)}
onDatesChange={({ setStartDate, setEndDate }) => {
setDateState({ setStartDate, setEndDate });
}}
showClearDates={true}
small={true} />
<ActionWrapper>
{
dateState.setStartDate ? (
<Button type="default" onClick={onClearDates}>
Clear
</Button>
) : (
''
)
}
<Button type="primary" onClick={() => onApplyDates()}>
Apply
</Button>
</ActionWrapper>
Кто-нибудь знает, почему выбранные даты не удаляются после нажатия кнопки очистки, даже если я установил состояние дат на null?