如何设置formik值

问题描述

index.js

const [request,setRequest] = useState({
    product_name: '',categoryId: '',description: '',link: ''
});

const loadRequest = async () => {
    const res = await Axios.get(`http://localhost:3001/dashboard/${id}`,{
        headers: headers
    });
    let _request = res.data.response
    setRequest({
        product_name: _request.product_name,categoryId: _request.categoryId,description: _request.description,link: _request.link
    })
};

const validationSchema = Yup.object({
    product_name: Yup.string().trim().required('Product name is required'),description: Yup.string().trim().required('Description is required'),category: Yup.string().required('Category is required')
});

const formik = useFormik({
    initialValues: request,onSubmit: handleSubmit,validationSchema: validationSchema
});
console.log(formik.values)  =====>>> Here I am not getting data
console.log(request)  ==========>>> Here I am getting data

我在请求状态下获取值,但是当我在Formik中将值设置为初始值时,它没有显示数据。有人可以告诉我我在这里想念什么吗?

解决方法

仅添加了enableReinitialize:true,就可以了

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...