2017-03-01 6 views
1

私はリレーのチュートリアルを以下していると私は、コードのこの部分で混乱しています:Relay.QLフラグメント、リレーのクエリとルートが混乱していますか?

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? 
    }, 
} 

とアプリのルート上で、私はドキュメントでこれを読んで、私は強い把握を持っている必要があり、私はこのようなOCDを持っています

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

私は、具体的に指摘するコメントに私の質問を入れました。それらの部分の説明を本当に感謝します、ありがとう。

答えて

0

[OK]をクリックします。私はあなたに答えようとしましょう。

1. 'User'のこのフラグメントは何ですか?

よく、GraphQLでは、クエリはルートクエリ型に存在するフィールドを宣言します。一方、GraphQLフラグメントは任意の型に存在するフィールドを宣言します。たとえば、次のフラグメントは、一部のユーザーの名前と会議をフェッチします。

2.ここでのパラメータの目的は何ですか?

独自の例を入手してください。特定のユーザーを取得する必要がある場合は、取得できるユーザーのIDを指定する必要があります。だからこそ、私たちはこれらのパラメータを持っているのです。

関連する問題