繁体   English   中英

无法将参数传递给 function

[英]Not able to pass parameter to function

I am trying to pass the value in the state as a parameter to the Function.addAddOnData to which calls the setaddOndatatypes function with " addOnCategory" as a parameter, the parameter is not getting passed on doing console.log it shows blank as the response.

首先 function 调用:

  const onSubmit = e => {
    e.preventDefault();
    fileUpload(fileInputRef);
    if (!state.loading) {
      addAddOnDataToDb(
        state.addOnCategory,
        state.itemName,
        state.itemPrice,
        state.itemIconURL
      );
    }
  };

Function:

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调用端对 arguments 的排序错误。

您将 function 定义为:

const addAddOnDataToDb = (
    itemName,
    itemIconURL,
    itemPrice,
    addOnCategory
  ) => {
    ....
  }

你的电话看起来像:

addAddOnDataToDb(
    state.addOnCategory,
    state.itemName,
    state.itemPrice,
    state.itemIconURL
  );

state.addOnCategory应作为最后一个参数传递给 function 调用。 此外,价格和图标 url 的顺序也有误。

addAddOnDataToDb(
    state.itemName,
    state.itemIconURL,
    state.itemPrice,
    state.addOnCategory,
  );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM