Как обработать перестроение запроса graphql при возврате на страницу (Flutter)? - PullRequest
0 голосов
/ 12 апреля 2020

Я создаю ListView из данных, полученных с помощью GraphQL API.
Я использую пакет flutter_graphql для обработки моего запроса Вот фрагмент кода

build(BuildContext context){
return Query(
  options: QueryOptions(
    documentNode: gql(readRepositories),
    variables: {'nRepositories': 50},
  ),
  builder: (QueryResult result, { VoidCallback refetch, FetchMore fetchMore }) {
    if (result.hasException) {
        return Text(result.exception.toString());
    }
    if (result.loading) {
      return CircularProgressIndicator();
    }
    repositories = result.data['viewer']['repositories']['nodes'];

    return ListView.builder(
      controller: repositoriesController,
      itemCount: repositories.length,
      itemBuilder: (context, index) {
        final repository = repositories[index];

        return ListTile(
              leading: Icon(Icons.flight_land),
              title: Text(repository['name']),
              onTap: () {
        Navigator.of(context).push(MaterialPageRoute( builder: (context) => RepositoryDetail(repository: repository,))); 
              }
        )
    });
  },
);
}

Моя проблема заключается в том, что после перехода пользователя к подробная страница затем, когда пользователь нажмет кнопку BackButton, эта сборка будет перестроена и создаст новый запрос к API.

Примечания:

  1. Существуют фильтры, которые будут вызывать этот виджет и перестраивать его
  2. На свитке есть нумерация страниц

Как обрабатывать этот сценарий?

...