3

アプリケーションでリレーを使用してページネーションを実装しようとしています。react-bootstrap テーブルとページネーションにデータを表示して、ページをナビゲートします。初めてページにアクセスすると、最初のページ データが読み込まれます (ルート クエリが実行されます)。ページネーション(1、2、3 ..)のクリックイベントで、サーバーに次のページデータを要求します。予想どおり、ルート クエリが実行され、データが取得されますが、UI のデータが更新されません。ブラウザ コンソールに次のエラーが表示されます。

警告: Relay は接続のエッジを調整できませんでした。これは、フィールドのないノードとの接続エッジを含むサーバー応答を処理しようとしているときに発生した可能性がありidます。

ページネーションをクリックした後、必要なパラメータが pageNum=2 である URL の変更を確認でき、ページを更新すると新しいデータが表示されます..しかし、データはページを更新せずに表示されるはずです。

4

1 に答える 1

2

GraphQL タイプの接続を定義するサーバー側の GraphQL スキーマ定義で、 または を定義しましたfield :id, !types.IDglobalIdField

例 (Javascript ですが、他の言語にも適用可能)

var myObjectType = new GraphQLObjectType({
  name: 'MyObject',
  description: 'My Object',
  fields: () => ({
    id: globalIdField('MyObject'),
    ...
  })
})

var myObjectListType = new GraphQLObjectType({
  name: 'MyObjectList',
  description: 'List of My Objects',
  fields: () => ({
    id: globalIdField('MyObjectList'),
    denims: {
      type: myObjectConnection,
      ...
    }
  })
})

var {connectionType: myObjectConnection} =
  connectionDefinitions({name: 'MyObject', nodeType: myObjectType});

関連する可能性があるもの:ネストされたフラグメント データが Relay で常に同じである

于 2016-03-29T13:55:50.297 に答える