![](/img/trans.png)
[英]How to pass object as a parameter for function with optional object fileds in TypeScript?
[英]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.