【问题标题】:Using Apollo+Vue: What parameters are given to the "update" callback?使用 Apollo+Vue:“更新”回调有哪些参数?
【发布时间】:2018-03-21 08:04:23
【问题描述】:

这是一个与 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 })
}

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

【问题讨论】:

    标签: javascript ecmascript-6 vuejs2 graphql apollo-client


    【解决方案1】:

    这是对象解构。它将创建一个名为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阅读更多相关信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-19
      • 1970-01-01
      • 2021-03-03
      • 2021-02-11
      • 1970-01-01
      • 2019-10-07
      • 2017-06-06
      • 1970-01-01
      相关资源
      最近更新 更多