有人能就如何解决这个问题提出建议吗?
我有一张状态各异的表格。当用户更改任何表单输入并单击保存时,函数会将数据发送到后端。问题是,当我只想发送已更改的值/已更改的状态时,我将整个对象发送到后端。我该怎么做?
下面是一个例子:
const [streetName, setStreetName] = useState<string>('');
const [zipCode, setZipCode] = useState<string>('');
const [city, setCity] = useState<string>('');
const [email, setEmail] = useState<string>('');
const [phone, setPhone] = useState<string>('');
const userData = {
streetName,
zipCode,
city,
email,
phone
};
const saveDataOnClickHandler = (userData) => {
updateUserMutation(userData);
};
2条答案
按热度按时间btqmn9zl1#
假设您以空字符串开始,并且这个初始状态(
useState<string>('');
),您可以在发送例如。如果要发送从上次发送更改的字段,则需要保存这些值并将其与实际输入进行比较
dsekswqp2#
这取决于,因为您没有显示表单,所以我会假设输入的实际值与状态相关联。在这种情况下,我将向每个状态添加一个hasChanged属性,并在提交时发送一个新的userData对象: