【问题标题】:Sending object to JS function not working for some reason由于某种原因,将对象发送到 JS 函数不起作用
【发布时间】:2021-12-28 00:00:34
【问题描述】:

我正在尝试将一个对象从一个反应组件发送到一个调用 API 的 JS 函数,但由于某种原因,传递不起作用,我不知道出了什么问题。

这是调用函数的那一行

updateHousingUnit({sessionKey}, company = {objectToSend});

这是接收对象的函数的第一行:

const updateCompanyDetails = ({sessionKey},{company}) => {
    console.log(JSON.stringify("inside update " + company)); 

无论出于何种原因,它在函数的 console.log 中显示为未定义,而在调用函数之前 react 组件内的日志显示它存储了所有预期的数据,我认为这应该是一个语法错误,但我看不到是什么使它不起作用? 我在调用函数时也尝试过使用 spread(...) 运算符,但没有运气。

【问题讨论】:

  • 你的函数定义不正确。您的参数没有名称,因为您用大括号将它们包裹起来。去掉花括号。看起来像const updateCompanyDetails = (sessionKey, company) ...

标签: javascript reactjs syntax


【解决方案1】:

应该按预期工作。但是请不要使用这种语法({someKey}) => someKey 的函数将解构应用于传递的参数。在这种情况下,someKey 将与 (arg) => arg.someKey 相同

const updateCompanyDetails = ({
  sessionKey
}, {
  company
}) => {
  console.log(`company: '${company}', sessionKey: '${sessionKey}'`);
}


updateCompanyDetails({sessionKey: 'someKey'}, {company: 'someCompany'})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多