React Native TypeError: undefined is not an object ('evaluating useFormikContext.errors')

React Native TypeError: undefined is not an object ('evaluating useFormikContext.errors')

我正在开发一个带有 React Native 的应用程序。将 formik 用于表单,我收到此错误 'TypeError: undefined is not an object (evaluating '_useFormikContext.errors') '

import { useFormikContext } from "formik";

import { ErrorMessage } from "./index";
import ImageInputList from "../ImageInputList";

function FormImagePicker({ name }) {
  const { errors, setFieldValue, touched, values } = useFormikContext();
  const imageUris = values[name];

  const handleAdd = (uri) => {
    setFieldValue(name, [...imageUris, uri]);
  };
  const handleRemove = (uri) => {
    setFieldValue(
      name,
      imageUris.filter((imageUri) => imageUri !== uri)
    );
  };

  return (
    <>
      <ImageInputList
        imageUris={imageUris}
        onAddImage={handleAdd}
        onRemoveImage={handleRemove}
      />
      <ErrorMessage error={errors[name]} visible={touched[name]} />
    </>
  );
}

export default FormImagePicker;

您正在尝试获取尚未定义的对象 属性,请尝试这样做:

{errors && (<ErrorMessage error={errors[name]} visible={touched[name]} />)}

如果这不是你想要的,尝试找到不同的解决方案,但永远记住你不能像那样得到 errors[name],你必须确保 errors 之前存在这样做。

希望这能解决您的问题,干杯!