React DatePicker не закрывается после выбора даты

Я пытаюсь использовать форму реагирования с помощью средства реагирования-датапикера. Я использую кнопку, чтобы открыть средство выбора даты, и пытаюсь закрыть его после выбора новой даты.

Ниже приведен созданный мной код-песочница, показывающий точную проблему, с которой я столкнулся.

https://codesandbox.io/p/devbox/react-datepicker-qwfyfs?file=%2Fsrc%2FDatePicker.jsx%3A105%2C33

Элемент управления даже не переходит к onChange в компоненте DatePicker при попытке отладки. Компонент DatePicker можно закрыть только повторным нажатием кнопки.

Буду признателен за любую оказанную помощь

песочница не найдена

tykhan 04.06.2024 15:06

Извините, вот рабочая ссылка. Песочницы теперь по умолчанию являются черновиками, не знал :) codeandbox.io/p/devbox/…

Deepak Negi 04.06.2024 15:36
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
2
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Кажется, ваш {...props} перезаписывает логику onChange. Таким образом, вы можете удалить {...props}, если он не нужен, или, если он нужен, поставить его первым, чтобы он не перезаписывал остальную логику.

          <DatePicker
            {...props}
            inline
            selected = {selected}
            onChange = {(date) => {
              console.info("event");
              try {
                handleChangeEvent(date);
              } catch (err) {
                console.info("error :", err);
              } finally {
                setIsOpen(false);
              }
            }}
            calendarStartDay = {1}
          />

Спасибо чувак, как я это пропустил 😅

Deepak Negi 04.06.2024 15:56

Другие вопросы по теме