【问题标题】:Not able to pass parameter to function无法将参数传递给函数
【发布时间】:2020-07-06 08:16:26
【问题描述】:

我正在尝试将状态中的值作为参数传递给 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';
    }
  };

【问题讨论】:

    标签: javascript function parameters


    【解决方案1】:

    addAddOnDataToDb 调用端的参数顺序错误。

    你定义了这样的函数:

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

    你的电话看起来像:

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

    state.addOnCategory 应该作为函数调用的最后一个参数传递。价格和图标网址也顺序错误。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-01
      • 2016-12-18
      • 2013-01-27
      • 2013-11-30
      • 2017-12-06
      相关资源
      最近更新 更多