2021/03/16 React里onClick写法问题
2021/03/16
在React语法的定义中,js的onclick变成了onClick,这个大写的C有点不一样,怎么个不一样法呢,请看下面:
const edit = (record) => {
message.info(JSON.stringify(record));
}
我先定义一个方法,然后绑定到一个按钮身上:<Button>编辑</Button>
现在有两种写法:
1、<Button onClick={() => edit(record)}>编辑</Button>
2、<Button onClick={edit(record)}>编辑</Button>
这两种写法由于中间少了()=>这么个玩意儿,结果就是:
1、页面加载,没有点击的情况下没有打印数据,点击按钮触发一次edit方法并打印数据,正常;
2、页面加载,没有点击的情况下打印数据10来次,edit方法在页面加载的时候触发了10来次,点击按钮触发一次edit方法并打印数据,不合常理;
差异这就来了。所以正确的写法是要加上()=>这么个玩意儿。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧