AWS Amplify Graphql - TypeError: Должен предоставлять источник.Получено: не определено - PullRequest
0 голосов
/ 31 января 2019

Я выполняю свои запросы точно так же, как в документации (https://aws -amplify.github.io / docs / js / api # ampify-graphql-client ), но я продолжаю получать следующую ошибку:

TypeError: Must provide Source. Received: undefined

Запрос выглядит следующим образом:

export const listUsers = `query ListUsers(
  $filter: ModelUserFilterInput
  $limit: Int
  $nextToken: String
) {
  listUsers(filter: $filter, limit: $limit, nextToken: $nextToken) {
    items {
      id
      firstName
      prefix
      lastName
      phone
      cigarettesDay
      enableNotifications
      age
      coach {
        id
        name
      }
      stopDate {
        nextToken
      }
      notifications {
        nextToken
      }
    }
    nextToken
  }
}
`;

Использование API.graphql Я вызываю запрос следующим образом:

  async componentDidMount() {
    try {
      const result = await API.graphql(graphqlOperation(listUsers));
      console.log(result);
    } catch (err) {
      console.log(err);
    }
  }

По этой проблеме https://github.com/graphql/graphql-js/issues/1038 Мне нужно добавить source, но я не могу найти ни одного примера или документации о том, как это сделать.Любая помощь очень ценится!

Редактировать

Это сработало, когда я сделал это следующим образом:

 async componentDidMount() {
   try {
     const result = await API.graphql(graphqlOperation(queries.listUsers));
     console.log(result);
   } catch (err) {
     console.log(err);
   }
 }

И импортировал как import * as queries from '../../../graphql/queries';

Почему?

Решение

Это потому, что я импортировал запрос как

import listUsers from '../../../graphql/queries';

вместо

import { listUsers } from '../../../graphql/queries';
...