【问题标题】:RelayQL: Invalid fragment compositionRelayQL:片段组合无效
【发布时间】:2015-12-08 21:45:15
【问题描述】:

我在下面收到Invariant Violation: RelayQL: Invalid fragment composition, use `${Child.getFragment('name')}`.。我不知道为什么,似乎没有什么可以解决它。我的组件包含:

fragments: {
  album: () => Relay.QL`
    fragment on Album {
      ${AlbumMutation.getFragment('album')}
    }
  `,
},

AlbumMutation 包含:

static fragments = {
  album: () => Relay.QL`
    fragment on Album {
      id
    }
  `,
}

【问题讨论】:

  • 看起来差不多。我们能否看到整个组件、容器定义和突变,或者至少看到更多?
  • 如果您可以使用 Relay Playground 来创建一个最小的测试用例,我们很乐意看看:facebook.github.io/relay/prototyping/playground.html

标签: relayjs


【解决方案1】:

对于遇到此问题的任何人,这可能是由于示例在 public/index.html 文件中加载了 React、Relay 和 ReactDOM 库,而不是使用 webpack import X from 'y';。如果您尝试使用 react-relay-router 库,则必须使用后者,但是拥有两个 Relay 副本会导致出现此错误。

我可以通过删除 public/index.html 中的引用来解决此问题,但很高兴知道双重导入中继似乎会破坏此问题!

【讨论】:

    【解决方案2】:

    我能够在 ES6 中通过从组件中删除我的 React/Relay 导入来解决此问题。

    从“react”导入 React;
    从“react-relay”导入 Relay;

    类...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-24
      • 2016-10-01
      • 1970-01-01
      • 2020-06-28
      • 1970-01-01
      • 2022-07-29
      • 1970-01-01
      • 2017-02-10
      相关资源
      最近更新 更多