React Native TypeError:未定义不是一个对象('正在评估 useFormikContext.errors')
2021-10-21
1657
我正在使用 React Native 开发一款应用。使用 formik 制作表单时,我收到此错误“TypeError:undefined 不是对象(正在评估‘_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;
2个回答
您尝试获取尚未定义的对象属性,请尝试执行以下操作:
{errors && (<ErrorMessage error={errors[name]} visible={touched[name]} />)}
如果这不是您想要的,请尝试寻找其他解决方案,但请始终记住您不能就这样获取
errors[name]
,您必须确保在执行此操作之前
errors
存在。
希望这能解决您的问题,干杯!
Matt
2021-10-21
您应该调用
formimagepicker
在formik组件中:
102138418
Sam
2022-06-05