Quantcast
Channel: Active questions tagged javascript - Stack Overflow
Viewing all articles
Browse latest Browse all 140101

Why is GraphQL not computing the correct result?

$
0
0

When the "appID" value is first passed on the form, GraphQL returns an expected value. Later when "profileID" is passed in addition to the appID, the computed result is unchanged.

Also, wanted to mention that The API is expecting - "appId": 714,"profileIds": [49] The parameter I'm passing is - appId: "714", profileId: "49"

The Query is as:

const MA_ESTIMATE_AUDIENCE_SIZE_QUERY = gql`
  query MAEstimateAudienceSizeQuery(
    $appId: ID!
    $additionalAppId: ID
    $profileId: ID
    $userActivityType: MaUserActivitySegmentType
    $userActivityDateRange: MaUserActivityDateRange
  ) {
    maEstimateCampaignAudienceSize(
      appId: $appId
      additionalAppId: $additionalAppId
      profileId: $profileId
      userActivityType: $userActivityType
      userActivityDateRange: $userActivityDateRange
    )
  }
`;

Its used as follows: I'm specifically expecting maEstimateCampaignAudienceSize to compute the correct result taking into account appID & profileID which are query parameters passed into the scope correctly.

              return (
                <Query<
                  MAEstimateAudienceSizeQuery,
                  MAEstimateAudienceSizeQueryVariables
                >
                  query={MA_ESTIMATE_AUDIENCE_SIZE_QUERY}
                  variables={variables}
                  onCompleted={data => {
                    if (!data) {
                      return;
                    }

                    const maEstimateCampaignAudienceSize = (data as MAEstimateAudienceSizeQuery)
                      .maEstimateCampaignAudienceSize;

                    // Set this value as the last known value if it's not already the last value.
                    if (
                      maEstimateCampaignAudienceSize &&
                      previousEstimatedAudienceSize !==
                      maEstimateCampaignAudienceSize
                    ) {
                      setPreviousEstimatedAudienceSize(
                        maEstimateCampaignAudienceSize
                      );
                    }
                  }}
                >
                  {({ data, loading, error }) => {
                    const maEstimateCampaignAudienceSize =
                      data && data.maEstimateCampaignAudienceSize;

                    // Pass undefined if loading as well as if `estimatedAudienceSize` is falsy.
                    const estimatedAudienceSize =
                      loading || !maEstimateCampaignAudienceSize
                        ? undefined
                        : maEstimateCampaignAudienceSize;

                    return children({
                      loading,
                      estimatedAudienceSize,
                      estimatedAudienceSizeFormatted:
                        estimatedAudienceSize &&
                        prettifyAudienceSize(estimatedAudienceSize),
                      error,
                    });
                  }}
                </Query>
              );


Viewing all articles
Browse latest Browse all 140101

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>