为什么在data.fetchMore期间data.loading不会变为true?

时间:2017-05-20 18:06:41

标签: react-apollo apollo-client

内部渲染:

  console.log('render', User.length, loading, networkStatus)

当我拨打data.fetchMore两次时,我得到:

render 100 false 7
render 200 false 7
render 300 false 7

我期待:

render 100 false 7
render 100 true 1
render 200 false 7
render 200 true 1
render 300 false 7

在此示例中,它按预期工作(loading变为true):

https://github.com/zeit/next.js/tree/v3-beta/examples/with-apollo

但不在我的代码中:

https://out-bkathectgx.now.sh/

https://github.com/lorensr/graphql-leaderboard/tree/a331af803b36ee2d65c85795d747e6cf4c83ba27

档案:

https://github.com/lorensr/graphql-leaderboard/blob/a331af803b36ee2d65c85795d747e6cf4c83ba27/components/ReputationLeaderboard.js

docs: data.networkStatus

docs: data.loading

1 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。事实证明,您必须通过在选项中将notifyOnNetworkStatusChange设置为true来选择加入:

http://dev.apollodata.com/react/api-queries.html#graphql-config-options-notifyOnNetworkStatusChange

PS!我还有一个问题是使用apollo-clientreact-apollo的旧版本,因此我必须升级到最新版本(在撰写apollo-client@1.2.2react-apollo@1.2.0时),以便制作确保您拥有足够的最新版本,以便提供这些选项。