I am creating a simple function with an object parameter. It accepts openDialog boolean property which decides whether to run another function. I am not defining an interface for it because it is ever going to be a single property. My issue is how do I define it in such a way that I am no longer required to pass an empty object to that function? openDialog is optional so what is the right syntax for making that object optional too?
function renderComponent({ openDialog }: { openDialog?: boolean }) {
render(
<Component />
);
if (openDialog) clickButton('Import Existing');
}
Typescript complains about renderComponent() with
Expected 1 arguments, but got 0.
It accepts renderComponent({})
I am aware of a default parameter function renderComponent({ openDialog }: { openDialog?: boolean } = {}) { but I am wondering whether there is a different way.