Javascript 如何创建可选接口?
我有这个案子:Javascript 如何创建可选接口?,javascript,typescript,types,Javascript,Typescript,Types,我有这个案子: interface IRenderComponent { urlToHideAt?: string; links?: IInternalNavbarLink[]; currentLink?: IInternalNavbarLink; } const renderComponent = ({ urlToHideAt, links, currentLink }: IRenderComponent) => { 这有点道理。我将所有子项都设置为可选,但这样做时,每次尝
interface IRenderComponent {
urlToHideAt?: string;
links?: IInternalNavbarLink[];
currentLink?: IInternalNavbarLink;
}
const renderComponent = ({ urlToHideAt, links, currentLink }: IRenderComponent) => {
这有点道理。我将所有子项都设置为可选,但这样做时,每次尝试使用该函数时都会出现错误
应为1个参数,但得到0.ts(2554)
这是有道理的。我将道具设置为可选,而不是一个参数
那么,我的问题是如何将整个参数{urlToHideAt,links,currentLink}
设置为可选参数。如何实现这一点?您可以使用:
如果调用者没有传递第一个参数,它将默认为
{}
,这是一个有效的IRenderComponent
,并且urlToHideAt
,链接
,当前链接
都将是未定义的。({}.links==undefined
)您不能将接口设置为可选的,但可以为ˋrenderComponentˋ的第一个参数设置默认值,使其成为可选的:
const renderComponent = ({ urlToHideAt, links, currentLink }: IRenderComponent = {}) => {
// Do something
}
const renderComponent = ({ urlToHideAt, links, currentLink }: IRenderComponent = {}) => {
// Do something
}