Я запутался в том, как обрабатывать даты реакции [DateRangePicker] onDatesChange и onFocusChange, потому что они имеют два значения каждое.
onDatesChange должен иметь возможность установить несколько значений, т. Е. Как начальную, так и конечную дату.
Я пытался создать специальную оболочку для средства выбора даты с помощью formik.
Проверить консоль на ошибки
`<div className="form-group">
<label>DatePickerWithFormik</label>
<Field component={DatePickerWithFormik} name="DatePickerWithFormik"
className="form-control" />
</div>`
`export const DatePickerWithFormik = ({ startDateId, endDateId, form: { setFieldValue, setFieldTouched }, field, ...props }) => {
const [focused, setFocused] = useState(null); // this will be removed
return(
<div>
{/* {console.log('Inside datpicer', field.name)} */}
<DateRangePicker
{...props}
startDateId="startDateId"
endDateId="endDateId"
onDatesChange={(value) =>
field.onChange(setFieldValue(field.name, value) )}
onFocusChange={focused => setFocused(focused)}
focusedInput={focused}
startDate={field.startDate}
endDate={field.endDate}
/>
{/* {console.log(field)} */}
</div>
);
};
`
- Ожидаемый результат: должен иметь возможность сохранять даты начала и окончания в локальном состоянии и отображать их на экране.
См. Рабочую ссылку: https://codesandbox.io/s/l72w6n8l0m