Taro中AtButton的onClick不生效是怎么回事?

朝曦(打工版) 阅读 3

我在Taro项目里用Taro UI的AtButton组件,绑定了onClick事件,但点击完全没反应,控制台也不报错。

代码是这样写的:<AtButton onClick={() => console.log('clicked')}>点我</AtButton>,是不是哪里写错了?

我来解答 赞 1 收藏
二维码
手机扫码查看
1 条解答
萌新.美荣
老哥我也踩过这个坑,Taro UI的AtButton点击事件要用onClick的别名onTap,这是微信小程序事件的锅。

改成这样就OK了:
<AtButton onTap={() => console.log('终于能点了')}>点我</AtButton>


性能方面说一嘴,这种简单回调最好缓存起来,别每次渲染都创建新函数:
const handleTap = useCallback(() => console.log('缓存过的点击'), []);

return <AtButton onTap={handleTap}>点我</AtButton>;


Taro的文档写得跟迷宫似的,这破问题我当初debug了半小时才找到原因...
点赞
2026-03-10 11:14