【问题标题】:Creating a method with a parameter and when called can accept a parameter or not accept创建带参数的方法,调用时可以接受参数或不接受
【发布时间】:2020-03-30 19:50:57
【问题描述】:

我在反应应用程序中有以下方法。此方法接受一个参数。

    const displayModal = (p:Result) => {
        setConfirm(true);
        if(p) { //check variable for truthy
          setSelectedRow(p); 
        }    
      }

我希望能够使用或不使用参数来调用此方法。 如果我在不传递参数的情况下调用该方法,我的代码将无法编译

    displayModal()

我怎样才能写出这样我才能使用该方法 也无需传递参数。

【问题讨论】:

  • 你在使用 TypeScript 吗?如果是这样,您应该将其添加为标签。 JS“编译”通常是指使用 Babel 进行转译,但您的语法对此无效。
  • 是的,我正在使用打字稿

标签: javascript reactjs typescript ecmascript-6


【解决方案1】:

假设您使用的是 TypeScript,您可以简单地指定 optional or default parameter

要么:

// optional
const displayModal = (p?:Result) => {}

或:

// default
const displayModal = (p:Result = new Result()) => {}
// new Result() can be anything that makes sense

它们都允许您在不提供参数的情况下调用方法。

两者之间唯一真正的区别是可选的,方法中的值是undefined。默认情况下,该值将是您的默认值。

【讨论】:

    猜你喜欢
    • 2017-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-28
    相关资源
    最近更新 更多