繁体   English   中英

typescript 中的可选 object 参数

[英]Optional object parameter in typescript

我正在使用 object 参数创建一个简单的 function 。 它接受openDialog boolean 属性,该属性决定是否运行另一个 function。 我没有为它定义一个接口,因为它永远是一个单一的属性。 我的问题是如何以不再需要将空 object 传递给 function 的方式定义它? openDialog是可选的,那么使 object 也成为可选的正确语法是什么?

function renderComponent({ openDialog }: { openDialog?: boolean }) {
  render(
    <Component />
  );

  if (openDialog) clickButton('Import Existing');
}

Typescript 抱怨renderComponent()

预期为 1 arguments,但得到 0。

它接受renderComponent({})

我知道默认参数function renderComponent({ openDialog }: { openDialog?: boolean } = {}) {但我想知道是否有不同的方法。

也许这就是您想要实现的目标。

function renderComponent(openDialog? : { openDialog?: boolean }) {
    render(
        <Component />
    );

    if (openDialog) clickButton('Import Existing');
}

那个错误:

预期为 1 arguments,但得到 0。

意味着您必须将(一个)object 作为参数传递给此 function。

如果您不使用此代码传递openDialog参数,则应像这样调用此 function:

renderComponent({});

如果你有可选参数,你应该这样做:

function renderComponent(args? : { openDialog?: boolean }) { 
    // your code 
}

renderComponent();

暂无
暂无

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

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