You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ReactJS中遍历常量对象以重置表单状态

React 重置对象状态以清空表单

要把newPayee对象的所有值设为undefined来重置状态、清空表单,有两种实用方法:

方法一:手动构建重置对象

直接创建一个所有属性值为undefined的对象,匹配INewPayee类型即可:

const resetNewPayee = () => {
  setNewPayee({
    appUserId: undefined,
    fullName: undefined,
    phoneNumber: undefined,
    email: undefined,
    streetAddress: undefined,
    city: undefined,
    postalCode: undefined,
    stateId: undefined,
    bankId: undefined,
    bankAccountNo: undefined,
    bankInstitutionNo: undefined,
    transitNo: undefined,
    note: undefined
  });
};

方法二:动态遍历生成重置对象

如果对象属性较多,遍历现有newPayee的键批量设置undefined,不用手动逐个编写属性:

const resetNewPayee = () => {
  const resetObj = Object.fromEntries(
    Object.keys(newPayee).map(key => [key, undefined])
  ) as INewPayee;
  setNewPayee(resetObj);
};

特殊情况处理

如果appUserId需要保留初始值(比如userInfo.id),可以在重置后单独赋值:

const resetNewPayee = () => {
  const resetObj = Object.fromEntries(
    Object.keys(newPayee).map(key => [key, undefined])
  ) as INewPayee;
  resetObj.appUserId = userInfo.id;
  setNewPayee(resetObj);
};

使用时,把这个重置函数绑定到按钮的点击事件(比如<button onClick={resetNewPayee}>清空表单</button>),触发后状态更新,组件重新渲染,表单就会被清空。

内容的提问来源于stack exchange,提问作者Michael Harvey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 12:05:00