石墨烯django继电器:继电器变换错误

时间:2016-10-17 20:44:48

标签: python django reactjs graphql relay

作为GraphQL的新手,我有一个带有两个模型的服务器的石墨烯django实现,紧跟graphene docs' example

在graphiql中,我可以这样做,并得到一个结果。

enter image description here

在另一个relay tutorial之后,我打算在屏幕上呈现此查询的结果。

我的尝试看起来像这样:

class Note extends Component {
  render() {
    return(
      <div> {this.props.store.title} </div>
    )
  }
}

Note = Relay.createContainer(Note, {
  fragments: {
    store: () => Relay.QL`
      fragment on Query {
        note(id: "Tm90ZU5vZGU6MQ==") {
          id
          title
        }
      }
    `
  }
});

class NoteRoute extends Relay.Route {
  static routeName = 'NoteRoute';
  static queries = {
    store: Component => {

      return Relay.QL`
      query {
        ${Component.getFragment('store')}
      }
    `},
  };
}

我的浏览器控制台显示以下错误:

Uncaught Error: Relay transform error ``There are 0 fields supplied to the query named `Index`, but queries must have exactly one field.`` in file `/Users/.../src/index.js`. Try updating your GraphQL schema if an argument/field/type was recently added.

我一直试图通过自己的努力来解决这个问题,但收效甚微。

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

感谢@stubailo指出我正确的方向。我做了一些调整,现在有一个像这样运行的最小例子:

NoteList = Relay.createContainer(NoteList, {
  fragments: {
    store: () => Relay.QL`
      fragment N on NoteNodeConnection {
        edges {
          node{
            id
            title
            note
          }
        }
      }
    `
  }
});

class NoteRoute extends Relay.Route {
  static routeName = 'NoteRoute';
  static queries = {
    store: Component => {

      return Relay.QL`
      query {
        notes {
          ${Component.getFragment('store')}
        }
      }
    `},
  };
}