热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Apollo2.1中的多个查询/变异

如何解决《Apollo2.1中的多个查询/变异》经验,为你挑选了2个好方法。

我需要一些帮助,使用Apollo 2.1中的新Query和Mutation组件,特别是有多个查询和突变.

我有以下问题:

    我有一个graphql请求,取决于以前的graphql结果,我该如何处理?

    如何在已经有查询的组件中添加两个不同的突变(在我的组件中我需要做两个不同的操作)?

devboell.. 24

你应该嵌套它们.从文档中查看此示例:

const NumbersWithData = () => (
  
    {({ loading: loadingOne, data: { one } }) => (
      
        {({ loading: loadingTwo, data: { two }}) => {
          if (loadingOne || loadingTwo) return loading...
          return 

{one} is less than {two}

}}
)}
);

为了帮助保持嵌套的可管理性,您可以检查react-adopt.他们有一个Apollo ToDo应用程序示例,它们结合了Query和多个Mutations.



1> devboell..:

你应该嵌套它们.从文档中查看此示例:

const NumbersWithData = () => (
  
    {({ loading: loadingOne, data: { one } }) => (
      
        {({ loading: loadingTwo, data: { two }}) => {
          if (loadingOne || loadingTwo) return loading...
          return 

{one} is less than {two}

}}
)}
);

为了帮助保持嵌套的可管理性,您可以检查react-adopt.他们有一个Apollo ToDo应用程序示例,它们结合了Query和多个Mutations.


我真的不喜欢嵌套的想法.如果我有一个包含20个突变的仪表板怎么办?
@JamieHutber强烈声明,但我同意原则。如果您需要一个组件来执行多个查询/突变,则可能是一种代码味道,因此应尽可能将应用程序分解为多个单独的组件。

2> 小智..:

为此react-apollo导出compose功能。使用此功能,您可以一次干净地使用多个组分增强剂。包括多个graphql()甚至Redux connect()增强器。

import { Mutation, compose, graphql } from "react-apollo";

class AddTweet extends Component {
....
....
....
}
export default compose(
  graphql(GET_AUTHORS, { name: "getAuthors" }),
  graphql(ADD_TWEET, { name: "addTweet" }),
  connect(...), // incase you are using Redux
)(AddTweet);

一个重要的注意事项是compose()首先执行最后一个增强器,然后在增强器列表中向后运行。

还有一件事可以说您this.props.data现在正在使用,您将获得get undefined。正义console.log(this.props),您将看到道具现在正在发生什么。您将现在有两个属性getAuthorsaddTweet。所以现在是this.props.name-in-compose.name-of-type-in-typeDefsie this.props.getAuthors.getUsers。我花了一点时间才弄清楚。


我可以在此示例中在哪里使用“静音”吗?
推荐阅读
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 使用C++编写程序实现增加或删除桌面的右键列表项
    本文介绍了使用C++编写程序实现增加或删除桌面的右键列表项的方法。首先通过操作注册表来实现增加或删除右键列表项的目的,然后使用管理注册表的函数来编写程序。文章详细介绍了使用的五种函数:RegCreateKey、RegSetValueEx、RegOpenKeyEx、RegDeleteKey和RegCloseKey,并给出了增加一项的函数写法。通过本文的方法,可以方便地自定义桌面的右键列表项。 ... [详细]
  • 一、路由首先需要配置路由,就是点击good组件进入goodDetail组件配置路由如下{path:goodDetail,component:goodDetail}同时在good组件中写入如下点击事件,路由中加入 ... [详细]
  • Opencv提供了几种分类器,例程里通过字符识别来进行说明的1、支持向量机(SVM):给定训练样本,支持向量机建立一个超平面作为决策平面,使得正例和反例之间的隔离边缘被最大化。函数原型:训练原型cv ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • switch语句的一些用法及注意事项
    本文介绍了使用switch语句时的一些用法和注意事项,包括如何实现"fall through"、default语句的作用、在case语句中定义变量时可能出现的问题以及解决方法。同时也提到了C#严格控制switch分支不允许贯穿的规定。通过本文的介绍,读者可以更好地理解和使用switch语句。 ... [详细]
  • 开发笔记:实验7的文件读写操作
    本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ... [详细]
  • 本文讨论了如何使用IF函数从基于有限输入列表的有限输出列表中获取输出,并提出了是否有更快/更有效的执行代码的方法。作者希望了解是否有办法缩短代码,并从自我开发的角度来看是否有更好的方法。提供的代码可以按原样工作,但作者想知道是否有更好的方法来执行这样的任务。 ... [详细]
  • 本文讨论了编写可保护的代码的重要性,包括提高代码的可读性、可调试性和直观性。同时介绍了优化代码的方法,如代码格式化、解释函数和提炼函数等。还提到了一些常见的坏代码味道,如不规范的命名、重复代码、过长的函数和参数列表等。最后,介绍了如何处理数据泥团和进行函数重构,以提高代码质量和可维护性。 ... [详细]
  • 本文详细介绍了Android中的坐标系以及与View相关的方法。首先介绍了Android坐标系和视图坐标系的概念,并通过图示进行了解释。接着提到了View的大小可以超过手机屏幕,并且只有在手机屏幕内才能看到。最后,作者表示将在后续文章中继续探讨与View相关的内容。 ... [详细]
  • 本文介绍了Java类的访问级别,包括public、private、protected和package-private,并重点解释了package-private的含义和作用。package-private表示类只能在其所在的包内可见,而不能被其他包的类访问。该文章还提到了其他访问级别的作用和范围,并对Java类的可见性进行了详细说明。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • Python中的PyInputPlus模块原文:https ... [详细]
author-avatar
庄蜗怕
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有