如何在reactjs 16.8中获取refetchQueries数据

时间:2019-08-08 05:22:06

标签: reactjs graphql react-apollo hasura

我正尝试使用 refetchQueries 获取突变后的更新记录列表。我尝试使用以下代码获取更新的数据,但更新的数据显示在开发者控制台的网络标签中。

这是针对reactjs 16.8和“ react-apollo”:“ ^ 2.5.5”,看来 awaitRefetchQueries:true 不起作用

client.mutate({
        mutation: ADD_ACTIVE_CREW,
        variables: {
          activeCrewInfo: {
            employee: activeCrew[0].vp_id,
            date_on_crew: new Date(),
            crew_id: selectedCrewId
          }
        },
        options: () => ({
          refetchQueries: [
            {
              query: GET_EMPLOYEE_BY_CREW_ID_QUERY,
              variables: { crew_id: crew_id }
            }
          ]
        }),
        awaitRefetchQueries: true

      });

我在开发人员控制台的“网络”选项卡中得到了正确的响应,但无法在我的reactjs应用程序中访问。

1 个答案:

答案 0 :(得分:0)

变异数据本身将永远不会反映重新获得的查询。

您告诉Apollo进行重新查询的任何查询都会被请求,然后将其结果写入缓存。这意味着只要QueryuseQuery参数与watchQuery中的参数匹配,任何query组件或使用variablesrefetchQueries的组件都将被更新。

如果您还没有使用该查询的组件,则需要添加一个。