Немного измените свой код.
<DatePicker
locale="en-GB"
onChange={this.buttonHanlder}
value={this.state.closedate}
/>
И в вашем buttonHandler методе используйте следующий код
buttonHanlder = value => {
if (value) {
var dateformat = [
("0" + value.getDate()).slice(-2) +
"-" +
("0" + (value.getMonth() + 1)).slice(-2) +
"-" +
value.getFullYear()
];
this.setState(prevState => ({
closedate: value,
closedatearr: [...prevState.closedatearr, ...dateformat]
}));
} else {
this.setState({
closedate: ''
});
}
};
Причина для этого: Когда Вы нажимаете на X (кнопка закрытия), чтобы вызвать реагирование на выбор даты buttonHandler с нулевым значением, которое означает, что пользователь очистил дату. Поэтому вам нужно обрабатывать нулевое значение в соответствии с вашими требованиями.