【问题标题】:I am confused Relay.QL fragments, Relays' queries and routes?我对 Relay.QL 片段、中继的查询和路由感到困惑?
【发布时间】:2017-07-21 04:34:15
【问题描述】:

我正在关注一个中继教程,我对这部分代码感到困惑:

exports.Container = Relay.createContainer(ConferenceApp, {

/* 1st id on mock database */
  initialVariables: {
    userToShow: 1
  },
  fragments: {
    user: () => Relay.QL`
/* what is this fragment on 'User'? does this has to be the name on/from the   UserType Schema or this could be anything? */
      fragment on User { 
        name,
        conferences(userToShow: $userToShow) {
          edges {
            node {
              id,
              name,
              description
            },
          },
        },
      }
    `
  },
});

exports.queries = {
  name: 'ConferenceQueries',
  params: {}, // what is params purpose here?
  queries: {
    user: () => Relay.QL`query { user }`   // why do we have this user query when we have the query above?, what is this user field?
  },
}

在应用程序根目录上,我已在文档中阅读过此内容,我只需要牢牢掌握,我对此有强迫症

<Relay.RootContainer
    Component={ConferenceApp.Container}
    route={ConferenceApp.queries} // is this something like react router? :/
    onReadyStateChange={({error}) => { if (error) console.error(error) }} />

我把我的问题放在 cmets 上专门指出。非常感谢您对这些部分的解释,谢谢。

【问题讨论】:

    标签: relayjs


    【解决方案1】:

    那好吧。让我试着回答你。

    1. “用户”上的这个片段是什么?

    嗯,在 GraphQL 中,查询声明存在于根查询类型上的字段。另一方面,GraphQL 片段声明存在于任意类型上的字段。例如,以下片段获取某个用户的姓名和会议。

    2。这里的 params 目的是什么?

    获取您自己的示例。如果您需要获取某个特定用户,则需要指定用户的 id 才能获取它。所以,这就是我们有这些参数的原因。

    【讨论】:

      猜你喜欢
      • 2014-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多