我正在创建一个带有对象参数的简单函数。它接受 aa[ll]
布尔属性,该属性决定是否运行另一个函数。我没有为它定义一个接口,因为它永远是一个单一的属性。我的问题是如何以不再需要将空对象传递给该函数的方式定义它? openDialog
是可选的,那么使该对象也可选的正确语法是什么?
openDialog
Typescript 抱怨 function renderComponent({ openDialog }: { openDialog?: boolean }) {
render(
<Component />
);
if (openDialog) clickButton('Import Existing');
}
与
需要 1 个参数,但得到 0 个。
它接受 renderComponent()
我知道默认参数 renderComponent({})
,但我想知道是否有不同的方法。
答案 0 :(得分:2)
也许这就是您想要实现的目标。
function renderComponent(openDialog? : { openDialog?: boolean }) {
render(
<Component />
);
if (openDialog) clickButton('Import Existing');
}
答案 1 :(得分:1)
那个错误:
<块引用>需要 1 个参数,但得到 0 个。
意味着您必须将(一个)对象作为参数传递给此函数。
如果您不使用此代码传递 openDialog
参数,您应该
像这样调用这个函数:
renderComponent({});
如果你有可选参数,你应该这样做:
function renderComponent(args? : { openDialog?: boolean }) {
// your code
}
renderComponent();