React 中父组件向子组件传递函数的正确调用方式

本文详解 React 父子组件间函数传递的关键细节,重点纠正 onConfirm={() => {props.confirmFunc}} 这类常见错误写法,说明为何函数未执行,并给出两种正确调用方式(直接传函数引用或箭头函数调用),附可运行示例与最佳实践建议。 本文详解 react 父子组件间函数传递的关键细节,重点纠正 `onconfirm={() => {props.confirmfunc}}` 这类常见错误写法,说明为何函数未执行,并给出两种正确调用方式(直接传函数引用或箭头函数调用),附可运行示例与最佳实践建议。在 React 中,父组件向子组件传递函数是实现状态提升与交互控制的核心模式。但一个高频陷阱是:函数被成功传递(props 中可打印验证),却在子组件事件触发时未实际执行。问题根源往往不在传递过程,而在于子组件中对函数的调用方式不正确。以你提供的代码为例,父组件 CommonCodeMgmt 正确声明了 confirmFunc 并通过 confirmFunc={confirmFunc} 传入 BasicAlert 子组件:setAlert(<BasicAlert confirmFunc={confirmFunc} />);但在子组件 BasicAlert 的 SweetAlert 中,onConfirm 的写法存在致命错误:// ? 错误:仅引用函数,未调用onConfirm={() => {props.confirmFunc}}该写法创建了一个新函数,其返回值是 props.confirmFunc 函数本身(而非执行它),且该返回值未被任何地方消费------onConfirm 回调期望的是"执行副作用",而非"返回一个函数"。因此点击确认按钮后,控制台无输出,console.log('1111') 从未触发。? 正确做法有两种,均需确保函数被立即调用: WisPaper 复旦大学研发的AI学术搜索工具,5分钟内筛选1000篇论文

相关推荐
砚底藏山河5 分钟前
量化实战:回测数据底座快照与版本管理进阶
java·大数据·python·金融·maven
“AI国潮设计-小江”6 分钟前
《Python+SDXL实战:用ControlNet批量生成“英歌舞麻将糕”IP,附自动化脚本与商用思路》
开发语言·人工智能·python·prompt·aigc
可乐ea24 分钟前
Agent 评测换判据:用终态数据库状态判定任务是否完成
数据库·ui·oracle·mcp工具·agent评测·终态断言·智能体可靠性
l1t29 分钟前
DeepSeek总结的一个不含数据的 DuckDB 数据库
服务器·数据库·duckdb
PaperData1 小时前
2007-2020年税收调查面板数据
数据库
逗脑IDE2 小时前
零基础学ESP32:RFID无线射频卡——让ESP32拥有“刷卡“能力!
开发语言·网络·人工智能·python·esp32·硬件开发
程序员清风2 小时前
CSV、Excel 与数据库数据读取实践
数据库·oracle·excel
协皓家具2 小时前
2026年广州岛台吧台椅厂家有啥新变化
大数据·运维·python·devops
yuniko-n2 小时前
【Java】字符串相关坑点
java·开发语言·python
GEO实战经验分享2 小时前
GEO技术与工具全景:从监测仪表盘到Schema的实战指南
数据库