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

React状态未按预期更新:点击NextButton后page值回退问题

问题原因及解决办法

核心原因是:你的NextButton处于表单(<form>)标签内部,点击按钮时浏览器会触发默认的表单提交行为,导致页面刷新,React组件重新初始化,page状态自然回到初始值0。

解决办法选其中一种即可:

  1. 给按钮添加type="button"属性,明确告知浏览器这是普通按钮,不触发表单提交:
<NextButton type="button" onClick={handlePageIncrement}>Next</NextButton>
  1. 在点击事件处理函数里阻止默认行为:
const handlePageIncrement = (e) => {
  e.preventDefault(); // 阻止表单提交的默认行为
  setPage((currPage) => currPage + 1)
}
  1. 检查你的FormWrapperOuter或FormWrapperInner这两个styled组件,如果它们被设置为渲染<form>标签,但你实际不需要表单提交功能,可以把渲染标签改为<div>。

内容的提问来源于stack exchange,提问作者Christoper Chamberlain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 14:34:55