AntD React: Обновление DatePicker при нажатии внешних стрелок вверх / вниз - PullRequest
0 голосов
/ 30 марта 2020

У меня есть компонент функции, который использует useState и компонент antD DatePicker. Я думаю, что путь React состоит в том, чтобы состояние selectedDate обновлялось каждый раз, когда пользователь выбирает либо дату из средства выбора даты, либо щелкает стрелку вниз влево, которую я имею. Я не понимаю, почему он не перерисовывается при запуске handleDateChange и изменении selectedDate.

const [selectedDate, setSelectedDate] = React.useState(new moment().startOf("day"));

const handleDateChange = date => {
    console.log(date);
  setSelectedDate(date);
};

return (
    <div>
        <LeftOutlined onClick={() => handleDateChange(selectedDate.add(-1, "days"))} />
        <DatePicker value={selectedDate} defaultValue={selectedDate} onChange={(date)=>handleDateChange(date)} />
    </div>
 )

Сейчас я думаю, что, возможно, даже несмотря на то, что момент () хранится в состоянии меняется, это все еще объект moment (), и состояние не распознает, что оно изменилось, и, таким образом, делает ставку на повторную визуализацию. Если это так, как я могу заставить его распознавать новую дату.

ОБНОВЛЕНИЕ:

Так что, похоже, мое лучшее предположение было правильным, я мой onClick для моя стрелка влево, чтобы добавить даты после того, как момент * .clone () -ed. Это лучший способ?

    <LeftOutlined onClick={() => handleDateChange(selectedDate.clone().add(-1, "days"))} />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...