React-Apollo不会在更改变量时触发网络请求

问题描述 投票:0回答:1

我正在使用react-apollo(v3.1.3)中的查询组件。在我的情况下,variables是一个嵌套对象。在初始通话中,它设置为

{
  "dashboardFilter": {
    "page": {
      "pageNum": 0,
      "pageSize": 10,
      "sortBy": [
        {
          "sortDirection": "DESC",
          "sortField": "DASHBOARD_PICKUP_DATE_TIME"
        }
      ]
    },
    "loadStatus": [
      "OPEN"
    ]
  }
}

用户单击列后,变量对象更改为

{
  "dashboardFilter": {
    "page": {
      "pageNum": 0,
      "pageSize": 10,
      "sortBy": [
        {
          "sortDirection": "ASC",
          "sortField": "DASHBOARD_PICKUP_DATE_TIME"
        }
      ]
    },
    "loadStatus": [
      "OPEN"
    ]
  }
}

问题是第一次进行网络呼叫,我接收到数据,但是当变量更改时,它不会发送网络呼叫。

这些是我要传递给Query组件的其他道具,其他变量都保持不变。

{
  "handleLoading": true,
  "query": {<---Query stuff---->},
  "returnPartialData": true,
  "variables": {
    "dashboardFilter": {
      "page": {
        "pageNum": 0,
        "pageSize": 10,
        "sortBy": [
          {
            "sortDirection": "DESC",
            "sortField": "DASHBOARD_PICKUP_DATE_TIME"
          }
        ]
      },
      "loadStatus": [
        "OPEN"
      ]
    }
  },
  "entityType": "Load",
  "passThruMissingData": false
}

我也尝试过设置fetchPolicy="network-only"

我做错了什么吗?

reactjs apollo react-apollo apollo-client
1个回答
0
投票

如果有人最终遇到这个问题。进一步研究问题,我发现Query中的react-apollo忽略了此处讨论的fetchPolicy: network-only or no-cache长度https://github.com/apollographql/react-apollo/issues/556。由于存在此问题的人和没有出现此问题的人之间的不一致,因此已关闭。

我们解决问题的方法是将数据返回refetch,并且在触发时,它不再发送网络呼叫,而我们呼叫了refetch,并再次强制发送呼叫。

© www.soinside.com 2019 - 2024. All rights reserved.