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

React注册页提交后,控制台打印的用户数据一闪即逝问题

问题原因

点击注册按钮后,控制台数据仅显示一秒就消失,是因为表单默认的提交行为会触发页面刷新,刷新后控制台日志被清空。

解决方案

有两种简单的修复方式:

方式一:阻止表单默认提交行为

修改signupUser函数,添加事件阻止默认行为,并将表单逻辑绑定到Form的onSubmit事件(更符合React表单规范):

  1. 更新signupUser函数:
const signupUser = async (e) => { 
  e.preventDefault(); // 阻止页面刷新
  console.log('用户输入数据:', signup); // 打印数据到控制台
  let response = await authenticateSignup(signup);
}
  1. 修改Form组件,绑定onSubmit事件,移除按钮的onClick:
<Form onSubmit={signupUser}>
  {/* 原有输入项保持不变 */}
  
  <button className="contact__btn" type="submit">
    Sign Up
  </button>
</Form>

方式二:修改按钮类型为button

将按钮的type从submit改为button,避免触发表单默认提交行为:

  1. 修改按钮代码:
<button className="contact__btn" type="button" onClick={() => signupUser()}>
  Sign Up
</button>
  1. 在signupUser函数中添加打印逻辑:
const signupUser = async () => { 
  console.log('用户输入数据:', signup); // 打印数据
  let response = await authenticateSignup(signup);
}
补充说明

两种方式都能解决页面刷新导致日志消失的问题,推荐使用方式一,因为它更符合HTML表单原生逻辑,也便于后续扩展表单验证等功能。

内容的提问来源于stack exchange,提问作者HARSHIT TRIPATHI

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 16:25:38