无法使用 formik 中的 FastField 读取未定义的属性(读取‘getFieldProps’)
2022-03-09
7338
我有一个包含 Formik 的表单,我想减少重新渲染,因此我使用了 FastField。
我收到错误
无法读取未定义的属性(读取“getFieldProps”)
,我不知道如何解决它。
完整代码在 这里
import React from "react";
import ReactDOM from "react-dom";
import { useFormik, FastField } from "formik";
import * as yup from "yup";
import Button from "@material-ui/core/Button";
const validationSchema = yup.object({});
const WithMaterialUI = () => {
const formik = useFormik({
initialValues: {
firstName:''
},
validationSchema: validationSchema,
onSubmit: (values) => {
alert(JSON.stringify(values, null, 2));
}
});
return (
<div>
<form onSubmit={formik.handleSubmit}>
<label htmlFor="firstName">First Name</label>
<FastField name="firstName" placeholder="Weezy" />
<Button color="primary" variant="contained" fullWidth type="submit">
Submit
</Button>
</form>
</div>
);
};
ReactDOM.render(<WithMaterialUI />, document.getElementById("root"));
1个回答
在 文档 中,您将找到
** Be aware that , , , connect(), and will NOT work with useFormik() as they all require React Context.
因此,如果您想使用
<FastField/>
,则不能继续使用该钩子,因此我猜您必须回退到使用
<Formik>
组件包装表单的旧样式
Louay Al-osh
2022-05-28