javascript - 无法将参数传递给函数
问题描述
我试图将状态中的值作为参数传递给 Function.addAddOnData,调用 setaddOndatatypes 函数并将“addOnCategory”作为参数,在执行 console.log 时参数未传递,它显示空白作为响应。
第一个函数调用:
const onSubmit = e => {
e.preventDefault();
fileUpload(fileInputRef);
if (!state.loading) {
addAddOnDataToDb(
state.addOnCategory,
state.itemName,
state.itemPrice,
state.itemIconURL
);
}
};
功能:
const addAddOnDataToDb = (
itemName,
itemIconURL,
itemPrice,
addOnCategory
) => {
console.log(addOnCategory);
const addOnType = setAddOnItemType(addOnCategory);
console.log(addOnType);
const addOnBody = JSON.stringify({
itemName,
itemIconURL,
itemPrice,
addOnType
});
console.log(addOnBody);
const config = {
headers: {
'Content-Type': 'application/JSON'
}
};
axios.post('/api/v1/addOn', addOnBody, config);
};
调用 setAddOnItemType
const setAddOnItemType = addOnCategory => {
console.log(addOnCategory);
switch (addOnCategory) {
case 'Add on':
return 'addOn';
case 'Flavours':
return 'flavour';
}
};
解决方案
您在addAddOnDataToDb
调用端的参数顺序错误。
您定义了如下功能:
const addAddOnDataToDb = (
itemName,
itemIconURL,
itemPrice,
addOnCategory
) => {
....
}
你的电话看起来像:
addAddOnDataToDb(
state.addOnCategory,
state.itemName,
state.itemPrice,
state.itemIconURL
);
state.addOnCategory
应该作为函数调用的最后一个参数传递。此外,价格和图标 url 的顺序也有误。
addAddOnDataToDb(
state.itemName,
state.itemIconURL,
state.itemPrice,
state.addOnCategory,
);
推荐阅读
- github - 使用私钥/公钥对将 Netbeans 连接到 gitHub 时出现问题
- c# - 来自 intPtr 的 for 循环,如何?
- docker - 如何从 docker 容器内运行的服务中查找客户端源 IP 地址
- docker - Docker Swarm - 是否有只读模式?
- arrays - Perl:以分割线元素为键读取哈希
- java - 查找内部列表列表的平均值
- > 使用 Stream 并以 List 形式返回结果
由内部列表的平均值组成 - electron - 使用 Electron Builder 对 DLL 文件进行代码签名
- amazon-web-services - 在 aws CodeBuild 中获取提交 SHA
- icalendar - ICS 方法 CANCEL 导致多个日历应用程序出错
- javascript - 无法使用 puppeteer 修改元素