2017-06-02 8 views
0

私はdisplay.Thisにこれ以上ドスを持っていないことを意味している偽であることは私である私のカウント変数が働いていると私は私がそれを正しく設定していると思いますが、私はloadMoreアイテムと私hasMoreできないhttps://github.com/facebook/relay/blob/master/packages/react-relay/modern/ReactRelayPaginationContainer.jshttps://facebook.github.io/relay/docs/pagination-container.htmlもっと多くのアイテムがあっても、リレーでloadMoreを実行できませんか?

から読みましたコード:

export default createPaginationContainer(TodoList, 
    { 
    viewer: graphql` 
      fragment TodoList_viewer on User { 
       todos(
       first: $count # 
      ) @connection(key: "TodoList_todos") { 
       edges { 
        node { 
        id, 
        complete, 
        ...Todo_todo, 
        }, 
       }, 
       }, 
       id, 
       totalCount, 
       completedCount, 
       ...Todo_viewer, 
      } 
     `, 
    }, 
    { 
    direction: 'forward', 
    getConnectionFromProps(props) { 
     console.log("getConnectionFromProps props ",props) 
     return props.viewer && props.viewer.todos; 
    }, 
    getFragmentVariables(prevVars, totalCount) { 
     console.log("getFragmentVariables total count ",totalCount) 
     return { 
     ...prevVars, 
     count: totalCount, // the total of displayed todos on the fragment 
     }; 
    }, 
    getVariables(props, {count}, fragmentVariables) { 
     console.log("getVariables count ",count) 
     return { 
     count, 
     // cursor, 
     // in most cases, for variables other than connection filters like 
     // `first`, `after`, etc. you may want to use the previous values. 
     // orderBy: fragmentVariables.orderBy, 
     }; 
    }, 
    query: graphql` 
     query TodoListPaginationQuery(# assign component name + Pagination + Query 
     $count: Int! 
    ) { 
     viewer { 
      # You could reference the fragment defined previously. 
      ...TodoList_viewer 
     } 
     } 
    ` 
    }); 

ここで間違っていることはわかりません。あなたは私が

答えて

0

を本当に感謝(私はgithubの中で見つけることができない)、このための作業サンプルを知っていれば多分正しく接続のpageInfoを露出させ、サーバー?です。 TodoConnectionタイプは、次のフィールドに

  1. edges: [TodoEdge]
  2. pageInfo: PageInfo!

を持っている必要がありPageInfoタイプは、次のフィールドを持っている必要があります。

endCursor: String 
When paginating forwards, the cursor to continue. 

hasNextPage: Boolean! 
When paginating forwards, are there more items? 

hasPreviousPage: Boolean! 
When paginating backwards, are there more items? 

startCursor: String 
When paginating backwards, the cursor to continue. 

私はどちらかの例を見つけることができませんでしたが、私はそれらのタイプ/フィールドを見てみることをお勧めします。スタックにGraphiQLをインストールしている場合は、手動でクエリを実行して、サーバー関連の問題を破棄することもできます。

+1

私はexplecitly pageInfoでそれをすべて追加、hasNextPageは真であるが、しかしthis.props.relay.hasMore()はfalseを返します –

0

React-Relayのどのバージョンを使用していますか? 1.5.0を使ってみることができますか?私は同じ問題に直面していますが、現在は1.5.0をアップグレードできません。

私は1.5.0のリリースは、この問題を解決するかもしれないと思う: https://github.com/facebook/relay/releases/tag/v1.5.0

修正をコミット:空の接続でページネーションコンテナでゼロエッジ

  • 修正ページネーションを返さフェッチ

    • 修正終了カーソルを
  • 関連する問題