调用外部文件函数时传入React Context值得到undefined如何解决
问题解决说明
你的问题和值/引用传递逻辑无关,是函数参数的定义与调用规则不匹配导致的:你定义MyFunc时使用了对象解构语法,要求入参是一个携带userId属性的对象,但调用时直接传入了userIdVal这个基本类型值,解构时找不到对应属性自然返回undefined。
可选解决方案
- 方案一:调整函数调用逻辑,传入符合结构要求的对象
const handleClick = () => { const userIdVal = user.uid; console.log("userIdVal: ",userIdVal); // 传入带userId属性的对象,和函数参数定义匹配 MyFunc({ userId: userIdVal }); };
- 方案二:调整
MyFunc的参数定义,直接接收单个值
export const MyFunc = (userId) => { console.log("userId: ", userId) return true; };
额外说明
你需要的「传值而非传引用」的需求在当前场景下天然满足:user.uid属于基本数据类型(字符串/数字),JavaScript中基本类型本身就是按值传递的,不存在引用传递的问题。
内容的提问来源于stack exchange,提问作者T J
相关产品推荐
相关产品推荐

