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
之前存在这样做。
希望这能解决您的问题,干杯!
我正在开发一个带有 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
之前存在这样做。
希望这能解决您的问题,干杯!