Javascript 如果没有';不存在?

Javascript 如果没有';不存在?,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,我有一个链接表(共5个) 链接1 链接2 链接3 链接4 链接5 前两个链接是动态的。有时有他们的数据,有时没有 最后3个链接是静态的,始终显示 动态链接的数据深度嵌套在状态中 示例:state.data.item.statics.footerLinks footerLinks是一个对象数组: footerLinks[{name:*****,url:*****},{name:*****,url:*****}] 我需要对state.props对象进行解构,以仅在footerLinks存在时获取fo

我有一个链接表(共5个)

链接1 链接2 链接3 链接4 链接5

前两个链接是动态的。有时有他们的数据,有时没有

最后3个链接是静态的,始终显示

动态链接的数据深度嵌套在状态中

示例:
state.data.item.statics.footerLinks

footerLinks是一个对象数组:

footerLinks[{name:*****,url:*****},{name:*****,url:*****}]

我需要对state.props对象进行解构,以仅在footerLinks存在时获取footerLinks

i、 e.
const{footers}=state.data.item.footerLink

问题是我还需要在检查后映射页脚,以将“name”键更改为“link”(如果存在)。如果它不存在,我需要在映射之前立即停止代码,因为我不能映射null或undefined。它将抛出一个错误。如果没有页脚链接,并且仍然给我3个静态链接来显示在UI中,我不知道如何阻止代码到达地图。这就是我到目前为止所做的:

这些是始终存在的静态链接:

const mainlinks=[
{标签:*******”,url:*******},{标签:*******”,url:*******},{标签:*******”,url:*******”}

****检查页脚链接****

****如果存在页脚链接,我想将其分配给常量页脚。 如果它们不存在,我需要终止这个过程,这样我们就不会到达地图****

****如果存在页脚链接,则映射页脚以将名称更改为标签****

const shopLinks=footers.map((footer)=>(
返回{label:footer.name,url:footer.url}
)


const allLinks=shopLinks.concat(mainLinks);

如果不适合您的用例,为什么要坚持使用map,请使用forEace,而不要像下面这样

const { footers = [] } = state.data.item.footerLink;
let dynamicLinkHolder = []
const shopLinks = footers.forEach((footer) => (
 if(footer){
    dynamicLinkHolder.push({label: footer.name, url: footer.url })
  }
)
const allLinks = shopLinks.concat(dynamicLinkHolder);

但是如果footerLinks数据为空怎么办?那么const footers=undefined。如果是这样,您无法映射或forEach。您将得到一个错误。如果没有footerLinks数据,我需要一个故障保护仅返回3个静态链接。如果footerLinks中有数据,那么我需要映射或forEach并将键“name”更改为“label”。const{footers=[]}=state.data.item.footerLink;如果您喜欢上面的内容,可以轻松跳过错误。。。