使用 Apollo+Vue:"update" 回调有哪些参数?

Using Apollo+Vue: What parameters are given to the "update" callback?

这是一个与Javascript相关的语法问题。我正在关注这个 GraphQL 教程: https://www.howtographql.com/vue-apollo/4-routing/

this.$apollo.mutate 中有一个名为 "update" 的回调函数,它接受一个 "data" 参数,如下所示:

update: (store, { data: { createLink } }) => {
    const data = store.readQuery({
        query: ALL_LINKS_QUERY
    })
    data.allLinks.push(createLink)
    store.writeQuery({ query: ALL_LINKS_QUERY, data })
}

什么是“{数据:{createLink}}”?这是一个对象吗?虽然 "createLink" 参数是在箭头函数体内定义的,但 "data" 不是。愚蠢的问题,但我什至不知道这叫什么来研究它(JS 初学者)。看起来像ES6解构,但是我找不到类似的例子。

这是对象解构。它将创建一个名为 createLink 的新变量。它在 ES5 中的代码是:

update: (store, params2) {
  const createLink = params2.data.createLink
  ...
}

您可以在 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Nested_object_and_array_destructuring

中阅读更多相关信息