【发布时间】:2025-11-29 00:00:02
【问题描述】:
我正在制作一个简单的反应应用程序,其中包含一些基本输入,例如 first name、last name 等,
输入的状态在上下文 api 中处理,例如,
context.js
import React, { useState } from "react";
export const FormContext = React.createContext();
export function FormProvider({ children }) {
const [formValue, setFormValue] = useState({
basicDetails: {
firstName: "",
lastName: "",
address: {
city: "",
zip: ""
}
}
});
return (
<FormContext.Provider value={[formValue, setFormValue]}>
{children}
</FormContext.Provider>
);
}
在获取上下文的基本细节组件中,
const [value, setValue] = React.useContext(FormContext);
const { basicDetails } = value;
为了复制上下文的初始值,我尝试过使用扩展运算符,例如,
const initialValue = { ...value };
在handleSubmit 函数中尝试获取最初复制的值(即)initialValue,但这是记录最新更改的值。
工作示例:
要求:
单击表单提交时,我需要使用初始上下文数据重置表单值。
为了实现将值重置为初始数据,我尝试了传播运算符{ ...value },但我认为我的方法有误。
即使JSON.parse(JSON.stringify(value)) 在这种情况下也不起作用..
请任何人帮助我在提交时将表单值设置为初始上下文。
【问题讨论】:
标签: javascript reactjs object react-context