【问题标题】:Multiple Apollo mutations多重阿波罗突变
【发布时间】:2017-03-23 04:50:10
【问题描述】:

我按照Apollo documentation 在单个 React 组件上提供了两个突变(createUser 然后是signInUser),但是我的代码(this.props.signInUser is not a function)无法访问一个突变(“外部”之一 - signInUser) )。也许我启用服务器端的设置掩盖了一个突变,但我看不出在哪里。帮助表示赞赏:)

查看完整代码here

编辑:使用compose 时出现同样的问题,请参阅code

【问题讨论】:

    标签: reactjs graphql apollostack react-apollo


    【解决方案1】:

    这是由我的 apollo 高阶组件引起的,它比仅仅调用 Apollo 的 graphql(与服务器端渲染相关)做了更复杂的事情,并且必须以某种方式屏蔽属性。我为这些突变绕过了这种 SSR 行为(不需要),请参阅code

    【讨论】:

      【解决方案2】:

      你只需要在传递到组件时命名突变,否则它们都称为mutate,并相互覆盖。

      (通过使用props函数)

      这是一个带有命名突变的完整示例:

      https://gist.github.com/Siyfion/a2e9626ed431f8ff91af2c9b8cba1d67

      【讨论】:

      • 谢谢,但我已经按照文档中的说明重命名了突变:{ name: 'createUser' }{ name: 'signInUser' }。如果不提供这样的名称,我相信默认是mutate,而不是mutation。你有关于这个 props 的 Apollo 文档的链接吗?
      • 谢谢,我尝试使用props,但同样的问题。我仍然怀疑它在我的服务器端渲染设置中(我的apollo 高阶组件)。
      猜你喜欢
      • 2019-04-02
      • 2019-02-20
      • 2019-04-16
      • 2021-01-24
      • 2017-09-04
      • 2019-02-08
      • 1970-01-01
      • 2019-12-06
      • 2018-12-19
      相关资源
      最近更新 更多