React Native中如何检查props里的回调是否存在并调用?
检查并调用可选回调的方法
你的testCallback是可选属性(类型定义里带?),调用前必须先确认它存在,不然会触发"调用undefined"的报错。这里有几种实用的实现方式:
1. 条件判断后调用
最直观的方式,用if检查回调是否存在,再执行:
const { testCallback } = props; if (testCallback) { testCallback(); }
2. 可选链操作符(推荐)
用ES2020的可选链?.简化代码,它会自动处理undefined/null的情况:
props.testCallback?.();
只有当testCallback存在且为可调用的函数时,才会执行调用,否则直接跳过,不会报错。
3. 逻辑与短路调用
利用逻辑与&&的短路特性,同样能实现安全调用:
props.testCallback && props.testCallback();
如果testCallback不存在(为undefined/null),&&左侧为假,右侧代码不会执行;存在则执行调用。
内容的提问来源于stack exchange,提问作者smolkitty
相关产品推荐
相关产品推荐

