小编joe*_*joe的帖子

如何将 useFormik 的初始值设置为 API 请求返回的数据

我有一个更新的 ProfilePage 组件,我想使用 useQuery 从 Axios API 请求接收到的数据预加载表单值,但似乎 useFormik initialValues 在请求完成之前渲染,因此初始值未定义,任何人都可以帮忙我 ?

  const { isSuccess, data } = useQuery("author", async () => {
    const endPoint = `${baseURL}/auth/author`;
    return Axios.get(endPoint, {
      headers: {
        "x-auth-token": token,
      },
    })
      .then(({ data }) => {
        return data.author;
      })
      .catch((err) => {
        setErrors(err.response.data.errors[0].msg);
        console.log(errors);
      });
  });

  const formik = useFormik({
    initialValues: {
      firstname: data.firstname,
      lastname: data.lastname,
      gender: data.gender,
      dob: data.dob,
      email: data.email,
      oldPassword: "",
      newPassword: "",
      confirmNewPassword: "",
      profilePic: "",
    },
    validationSchema: Yup.object({
      firstname: Yup.string() …
Run Code Online (Sandbox Code Playgroud)

reactjs axios formik react-forms

6
推荐指数
2
解决办法
8970
查看次数

标签 统计

axios ×1

formik ×1

react-forms ×1

reactjs ×1