javascript - 带有对象参数的 React 函数抛出了一个意外的标记
问题描述
我有个问题。我在 React Native 中有以下功能。
const HandleConfirmApplication = async (
opts: {
isInvite: boolean,
confirmationCheckValues: () => any,
confirmPopUp: () => any,
loadingApply: () => any,
decision: () => any,
updateState: () => any
}
) => {
const {
isInvite,
confirmationCheckValues,
confirmPopUp,
loadingApply,
decision,
updateState
} = opts; //then do stuff
当我尝试调用它时,我将其称为:
onConfirm={async () =>
HandleConfirmApplication({
opts.isInvite: true,
opts.confirmationCheckValues: this.props.confirmationCheckValues,
opts.confirmPopUp: this.props.onToggleConfirmPopUp,
opts.loadingApply: this.props.onToggleLoadingApply,
opts.decision: this.handleShiftInviteDecision('ACCEPT'),
opts.updateState: null
})
}
如果我删除对象并正常调用它们,它可以工作,但是当我尝试更新对象以便我可以将函数参数作为对象时,它会在每一行上抛出一个错误,说 Unexpected token ',' expected ','
解决方案
属性名称中有 a.
在 JavaScript 中无效:
console.log({
opts.isInvite: 'example'
})
您应该自己传递参数:
HandleConfirmApplication({
isInvite: ...,
// ... rest of params
})
请注意,从技术上讲,.
如果将属性名称括在引号中,则可以在属性名称中包含 a ,但这会给您的特定代码带来不正确的行为,因为您没有使用该格式声明的任何属性。
console.log({
'opts.isInvite': 'this is fine'
})
推荐阅读
- cuda - 尝试使用超过 48 KB 的(静态)共享内存时出错
- javascript - 在 javascript 中访问 json 数据
- javascript - 烧瓶简单密码保护页面加载
- computer-science - “ -> ab|ac”的扩展 BNF 是什么?
- python - numpy 如何实现将列表作为索引传递给获取和设置项目的功能?
- mysql - 在自定义运算符上使用 dagrun.conf
- php - App\Mail\EmailGenerator 类的对象无法转换为字符串
- javascript - 为什么我的控制器从 Axios 收到的值总是为空?
- bash - 意外的 EOF 在第 1 行中寻找匹配的 `"'...。什么给出了?
- java - 即使在覆盖哈希码和等于之后,Java Map 也无法正常工作