Входные данные были установлены в какой-то момент, верно? Как, скажем, при первом запуске значения устанавливаются равными firstname:"jhon"
и lastname:"doe"
, теперь при следующем запуске setState у него уже будет ссылка на предыдущее значение, поскольку оно было установлено ранее.
setInputData(prevInputData => { //Get the previous values which were set
return {
...prevInputData, //uses spread operator to add those values here so that they are not lost
[name]: value //setting new values.
}
});
Другими словами, если вы не используете prevInputData, который является просто именем переменной, это может быть что угодно, ваши предыдущие изменения будут отменены. Кроме того, под прогоном я подразумеваю текущее состояние, которое он поддерживает, не то чтобы вы могли вернуться после refre sh, и оно будет там. это похоже на обновление для полей ввода, с каждым оставленным полем ввода состояние обновляется и сохраняет предыдущие значения полей ввода, которые вы добавили; если вы не выполните ...prevData
, тогда предыдущие введенные значения будут потеряны.