Я новичок в реагировании на мир и пробую базовую c форму с использованием formik. Я пытался исправить приведенную ниже ошибку, но безуспешно.
Ниже приведен компонент формы с formik и response-datepicker. У меня есть другая функция проверки, которая проверяет, если пользователь ввел начальную дату.
import React from "react";
import { useFormik } from "formik";
import Datepicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
const CreateAuction = () => {
const formik = useFormik({
initialValues: {
startDate: new Date(),
},
validate,
onSubmit: values => {
const inputValues = JSON.stringify({
startDate: values.startDate,
});
}
});
return (
<>
<div className="container-fluid">
<div className="page-header">
<h2>Create Auction</h2>
</div>
<form onSubmit={formik.handleSubmit}>
<div className="form-group">
<label htmlFor="startDate">Start Date</label>
<br/>
<Datepicker
id="startDate"
name="startDate"
className="form-control"
selected={formik.values.startDate}
onChange={formik.handleChange}
onBlur={formik.handleBlur}
value={formik.values.startDate}
/>
{formik.touched.startDate && formik.errors.startDate ? (
<div className="text-danger">{formik.errors.startDate}</div>
) : null}
</div>
<button type="submit" className="btn btn-primary">
Create
</button>
</form>
</div>
</>
);
};
Когда я выбираю дату в палитре, она выдает ошибку.
TypeError: Cannot read property 'type' of undefined
(anonymous function)
C:/Users/xxx/source/repos/my-appy/src/Formik.tsx:622
619 | : (eventOrTextValue as React.ChangeEvent<any>).currentTarget;
620 |
621 | const {
> 622 | type,
| ^ 623 | name,
624 | id,
625 | value,
View compiled
(anonymous function)
C:/Users/xxxx/source/repos/my-app/src/Formik.tsx:664
661 | if (isString(eventOrPath)) {
662 | return event => executeChange(event, eventOrPath);
663 | } else {
> 664 | executeChange(eventOrPath);
| ^ 665 | }
666 | }
667 | );
View compiled
onChange
C:/Users/xxxx/source/repos/my-app/src/Formik.tsx:1208
1205 | });
1206 |
1207 | return React.useCallback(
> 1208 | (...args: any[]) => ref.current.apply(void 0, args),
1209 | []
1210 | ) as T;