facebook/relay

[modern] Same field queried with different arguments overwrites proper results

Open

#2024 opened on Aug 9, 2017

View on GitHub
 (2 comments) (1 reaction) (0 assignees)Rust (18,930 stars) (1,874 forks)batch import
bughelp wantedwontfix

Description

Given query:

query UsersStatisticsQuery(
  $monthAgo: DateTime!,
  $twoMonthsAgo: DateTime!,
  $threeMonthsAgo: DateTime!,
  $fourMonthsAgo: DateTime!,
  $fiveMonthsAgo: DateTime!
  $sixMonthsAgo: DateTime!
) {
  root {
    statistics {
      usersUpToNow: users_count
      usersUpToMonthAgo: users_count(registered_before: $monthAgo)
      usersUpToTwoMonthsAgo: users_count(registered_before: $twoMonthsAgo)
      usersUpToThreeMonthsAgo: users_count(registered_before: $threeMonthsAgo)
      usersUpToFourMonthsAgo: users_count(registered_before: $fourMonthsAgo)
      usersUpToFiveMonthsAgo: users_count(registered_before: $fiveMonthsAgo)
    }
  }
}

in GraphiQL it gets properly returned:

{
  "data": {
    "root": {
      "statistics": {
        "usersUpToNow": 1282,
        "usersUpToMonthAgo": 1248,
        "usersUpToTwoMonthsAgo": 1156,
        "usersUpToThreeMonthsAgo": 1071,
        "usersUpToFourMonthsAgo": 968,
        "usersUpToFiveMonthsAgo": 737,
      }
    }
  }
}

However, in component:

usersUpToNow: 1282
usersUpToMonthAgo: 1248
usersUpToTwoMonthsAgo: 1248
usersUpToThreeMonthsAgo: 1248
usersUpToFourMonthsAgo: 1248
usersUpToFiveMonthsAgo: 1248

Well… I think it shouldn't have duplicated wrong values. react-relay@^1.1.0

Contributor guide