javascript - 解构赋值符号

标签 javascript reactjs

我正在关注this使用 Gatsby 创建博客的示例。

在本教程中,赋值符号的使用如下:

export default function Index({ data }) {

  const { edges: posts } = data.allMarkdownRemark

  return (
    <div className="blog-posts">
      {posts
        .filter(post => post.node.frontmatter.title.length > 0)
        .map(({ node: post }) => {
          return (...);
        })}
    </div>
  )
}

第 2 行在我看来是解构赋值,这让我感到困惑。我们从哪个字典中将键 edges 的值 posts 分配给?为什么我们稍后可以引用 posts 而无需使用 edges 键引用它?

最佳答案

您偶然发现了解构并分配给新变量。

您可以找到文档 here然后向下滚动到分配给新变量名称

它的作用是声明一个新变量(在您的例子中名为 posts ,其值为 data.allMarkdownRemark.edges

语法可能看起来是倒退的,因为 edgesposts 赋予了值(value),而不是相反,但如果你仔细考虑一下,我认为这是有道理的。

这样可以让你改变:

const {edges} = data.allMarkdownRemark

对此:

const { Edge: posts } = data.allMarkdownRemark

改动很小。

关于javascript - 解构赋值符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68707366/

相关文章:

javascript - 插入内联 HTML 或创建新元素更快吗?

reactjs - 用新数组替换不可变状态的数组——react/redux

javascript - 使用reactjs和nodejs上传图片时如何解决404错误?

reactjs - 检查字符串的第一个字母是否大写

javascript - 错误类型错误 : Cannot convert undefined or null to object

javascript - 单击按钮时如何加载新组件?

javascript - 为什么当我调用有返回值的函数时,我的 onclick 事件不起作用?

javascript - HTML 中选定文本的颜色变化

javascript - Angular 5 组件需要一个参数

javascript - JavaScript 中的 XML 文字?