У меня возникла проблема с компонентом Ant Design: средство выбора даты (средство выбора диапазона). [https://ant.design/components/date-picker/] Я использую это с React и хуками. Мне нужно иметь возможность изменить дату внутри средства выбора диапазона, нажав кнопку. Данные в состоянии обновляются правильно, но не обновляют дату в средстве выбора даты. Я думаю, что проблема связана с библиотекой moment.js, которая используется Ant Design для средства выбора даты. В средстве выбора даты значения даты заключаются в функции момента. Может быть, есть способ обновить компонент вручную после изменения состояния? Я что-то неправильно понимаю?
const DateSelect = () => {
const RangePicker = DatePicker.RangePicker;
const dateFormat = 'YYYY/MM/DD';
const [currentDate, setCurrentDate] = useState(moment().format(dateFormat));
const addSevenDays = () => {
const weekFromNow = moment()
.add(1, 'w')
.format(dateFormat);
setCurrentDate(weekFromNow);
console.info(currentDate);
};
return (
<div>
<Button onClick = {addSevenDays}>Add 7 days</Button>
<RangePicker
defaultValue = {[
moment(currentDate, dateFormat),
moment(currentDate, dateFormat),
]}
format = {dateFormat}
/>
<span> {currentDate} </span>
</div>
);
};
render(<DateSelect />, document.getElementById('app'));
Вот код для этой проблемы: https://codepen.io/anon/pen/rPEmPg?editors=0010



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы допустили несколько ошибок:
defaultValue вместо value, что не позволяет вам изменить значение из родительского компонента при обновлении состоянияЯ разветвил ваш codepen и исправил его: https://codepen.io/anon/pen/VgJzER
Спасибо за помощь! Я сохраняю только одну дату в штате только потому, что не хочу добавлять слишком много во фрагмент :) Вы спасли мой день! :D