javascript - Formik 的 handleChange 抛出 "TypeError: null is not an object (evaluating ' _a.type' )"on DateInput' s onChange

标签 javascript reactjs typescript semantic-ui-react formik

当我将 Formik 中的 handleChange 添加到“semantic-ui-calendar-react”DateInput 组件时,在选择日期时出现以下错误。

/image/l56hP.jpg “控制台输出”

AddWishlistFormDate.tsx

 import { FormikErrors, FormikProps, withFormik } from 'formik';
 import * as React from 'react';
 import { DateInput } from 'semantic-ui-calendar-react';
 import { Button, Form } from 'semantic-ui-react';

 export interface FormValues {
  date: string;
}

 interface Props {
  submit: (values: FormValues) => Promise<FormikErrors<FormValues> | null>;
}

 class C extends React.PureComponent<FormikProps<FormValues> & Props> {
  public render() {
    const {
      values: { date },
      handleChange,
      handleSubmit,
    } = this.props;
    return (
      <Form onSubmit={handleSubmit}>
        <Form.Field>
          <label>Date</label>
          <DateInput
            name="date"
            value={date}
            iconPosition="left"
            onChange={handleChange}
          />
        </Form.Field>
        <Button type="submit">Add</Button>
      </Form>
    );
  }
}

 export const AddWishlistFormDate = withFormik<Props, FormValues>({
  mapPropsToValues: () => ({ date: '' }),
  handleSubmit: async (values, { props, setErrors }) => {
    const errors = await props.submit(values);
    if (errors) {
      setErrors(errors);
    }
  },
})(C);

使用以下命令运行它

 const handleSubmit = async (values: FormValues) => {
    console.log(values);
    return null;
  };
  return <AddWishlistFormDate submit={handleSubmit} />;

最佳答案

你会这样做

          <DateInput
            name="date"
            value={date}
            iconPosition="left"
            onChange={(_, {value}) => setFieldValue('date', value)}
          />

关于javascript - Formik 的 handleChange 抛出 "TypeError: null is not an object (evaluating ' _a.type' )"on DateInput' s onChange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54391626/

相关文章:

javascript - 表格单元格悬停和行跨度

javascript - ReactJS 在 for 循环中分配点击处理程序

javascript - 用于 TypeScript : Class or Interface? 中的纯数据对象的内容

javascript - Angular 2 智能表动态数据不加载

javascript - 无法摆脱 Uncaught Error : _registerComponent(. ..):目标容器不是 DOM 元素

angular - 如何使用 typescript 和 Angular 在动态下拉列表中创建 "submenu"?

javascript - d3力定向布局中的神秘力量?

javascript - 检查cookie是否仍然有效

javascript - 如何阻止条件语句在 for 循环内同时运行 if 子句和 else 子句?

javascript - React 教程和 Sinatra API : Uncaught TypeError: this. props.data.map 不是函数