React 中 onClick 期望接收一个函数,若传入字符串或直接执行表达式(如 window.href=...)会触发"Expected onclick listener to be a function"错误;正确做法是传递箭头函数或具名函数包裹逻辑。 react 中 `onclick` 期望接收一个函数,若传入字符串或直接执行表达式(如 `window.href=...`)会触发"expected `onclick` listener to be a function"错误;正确做法是传递箭头函数或具名函数包裹逻辑。在 React 中,事件处理器(如 onClick)必须是函数引用,而非函数调用结果或原始值。常见错误是将赋值语句、跳转逻辑等直接写在花括号内,导致 JSX 在渲染时立即执行,返回 undefined 或字符串,从而违反 React 的事件监听器类型约束。例如,以下写法是错误的:<button onClick={window.href = 'https://github.com/'} className="btn btn-github"> Visit GitHub</button>这段代码的问题在于:window.href = '...' 是一条赋值语句,执行后返回字符串 'https://github.com/';React 将该字符串作为 onClick 处理器,但框架只接受函数类型,因此抛出 Expected onclick listener to be a function, instead got a value of string type 错误;同时,该赋值在组件渲染阶段就已执行,而非点击时,完全违背交互意图。? 正确写法:使用箭头函数包裹副作用逻辑(推荐用于简单操作): 蝉妈妈AI 电商人专属的AI营销助手
相关推荐
希望永不加班2 小时前
SpringBoot 中 AOP 实现多数据源切换像一只黄油飞2 小时前
第二章-02-注释2401_871696522 小时前
如何防止SQL注入利用存储过程_确保存储过程不拼字符串2301_796588502 小时前
如何在 macOS 中使用 launchd 每分钟执行一次 PHP 脚本m0_748920362 小时前
HTML函数在笔记本上卡顿怎么办_笔记本运行HTML函数优化操作【操作】2601_949814692 小时前
如何使用C#与SQL Server数据库进行交互WJB-DavidWang2 小时前
MongoDB-非关系型数据库-文档数据库(三) Kafka测试MongoDB性能耿雨飞2 小时前
Python 后端开发技术博客专栏 | 第 03 篇 面向对象编程进阶 -- 从 SOLID 原则到 Python 特色 OOPm0_678485452 小时前
c++如何提取系统环境变量并直接保存到txt日志中_getenv与ofstream【实战】