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

React组件点击按钮输出输入框数据至控制台,却随输入变化触发输出的问题

问题解决:点击按钮才输出输入框内容

你的代码里按钮的onClick写法有问题——直接写console.log(text)会导致这个语句在组件每次渲染时都执行(包括输入框内容变化触发的重渲染),而不是仅在点击按钮时执行。

只需要把console.log(text)包裹在一个箭头函数里,让onClick指向这个函数,这样只有点击按钮时才会调用它:

function Text() {
  const [text, setText] = useState("");
  return (
    <div className="white">
      {/* 我需要捕获信息的输入框 */}
      <input type="text" placeholder="enter" onChange={(e) => setText(e.target.value)} />
      <button onClick={() => console.log(text)}>CLICK</button>

      <div>{text}</div>
    </div>
  );
}

这样修改后,只有点击按钮时,输入框的内容才会输出到控制台,输入框内容变化时不会触发输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 10:42:02