Next.js表单提交后控制台自动清除问题求助
解决Next.js表单提交后控制台错误日志瞬间消失的问题
问题根源是表单提交的默认行为会刷新页面,不管请求成功还是失败,页面一刷新控制台就会被清空,所以你刚打印的错误日志会瞬间消失,哪怕加了.catch也没用。
解决步骤很简单:
- 在
onSubmit的回调函数里接收事件参数,调用event.preventDefault()阻止页面刷新 - 建议用
try/catch替代async/await混写.then的写法,代码更清晰
修改后的代码示例:
<form onSubmit={async (e) => { // 阻止表单默认刷新行为 e.preventDefault(); try { const resp = await getCertificate(id); const data = await resp.json(); console.log(data); } catch (e) { // 现在错误日志会保留在控制台,不会被页面刷新清空 console.error(e); } }}>
内容的提问来源于stack exchange,提问作者CB_at_Sw
相关产品推荐
相关产品推荐

