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

NextJS自定义组件onClick失效:按钮点击无响应原因排查

问题原因及修复方案

1. 组件未传递onClick事件到原生按钮

你的MyButton组件接收了onClick参数,但没有把它绑定到内部的原生<button>元素上,导致点击事件无法触发。

修复组件代码:

interface Button{
   text: string
   onClick?: () => void
}

const MyButton = ({ text, onClick }: Button) => {
   return (
      <button onClick={onClick}>
        {text}
      </button>
  )
}

export default MyButton;

2. 调用组件时的拼写错误

页面里定义的函数是doStuff,但调用组件时写成了dostuff(大小写不一致),导致传递了一个不存在的函数,无法执行预期逻辑。

3. 组件调用标签未闭合

页面中<Button text="Foo" onClick={dostuff}缺少闭合的/>或</Button>,会导致React渲染出错。

修复页面代码:

import MyButton from './Button';

const Page= () => {

  const doStuff = () => {
    console.log('do anything')
  }

   return(
     <div>
       <MyButton text="Foo" onClick={doStuff} />
     </div>       
   )
}

export default Page

额外注意:组件命名为MyButton,但页面调用时写的是Button,要保证导入和使用的组件名称一致,也可以在组件导出时改名(比如export default MyButton as Button)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 13:25:47