【发布时间】:2022-08-20 07:37:41
【问题描述】:
如果我决定只更新一个字段而将其他字段留空,因为它们已经有我不需要更新的数据,我的 axios 补丁方法会用空数据覆盖现有数据,这是一种非常糟糕的体验。这是我的代码和我尝试过的。
const yupSchema = yup.object().shape({
userName: yup.string(),
gender: yup.string(),
phoneNumber: yup.string(),
bio: yup.string(),
address: yup.string(),
})
const {
handleSubmit,
register,
formState: { errors },
} = useForm({ resolver: yupResolver(yupSchema) });
const onSubmit = handleSubmit(async (value) => {
const {userName, bio, address, phoneNumber, gender} = value
const formData = new FormData()
formData.append(\"userName\", userName)
formData.append(\"phoneNumber\", phoneNumber)
formData.append(\"bio\", bio)
formData.append(\"address\", address)
formData.append(\"gender\", gender)
我不知道我在这里做的是否正确,但我知道问题出在此处作为参数传递的对象值
await axios.patch(`${url}/api/member/${userData._id}`,{userName, bio, address,
phoneNumber, gender})
})
当我路由到编辑页面时,我可以做些什么来实现在输入字段中获取数据,我如何使用 SWR 完成这项工作?
-
你的
formData怎么了?你还在用吗? -
没有表单数据没有做任何事情,我应该把它注释掉,我也试过了,也许它会帮助我附加到数据,但它没有给我想要的结果。
标签: javascript reactjs axios patch swr