Синтаксическая ошибка GraphQL при передаче параметров - PullRequest
0 голосов
/ 19 апреля 2020

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

GraphQLError: Syntax Error: Expected Name, found }
interface WhereInput {
  email_contains: String;
}

export const LoadUsersQuery = gql`
query usersList($where: WhereInput) {
    users(where: $where}) {
      nodes {
        email
        firstName
      }
      totalCount
    }
}

Слово usersList определяется самостоятельно.

Этот оригинальный запрос выглядит на игровой площадке:

query {
    users(where: {email_contains: "B"}) {
      nodes {
        email
        firstName
      }
      totalCount
    }
  }

И вот как я его называю:

const [searchItem, setSearchItem] = useState('');
  const [loadUsers, { loading, data }] = useLazyQuery(LoadUsersQuery);
return (
    <div>
        <StyledSearchBar
          value={searchItem}
          onChange={value => {
            setSearchItem(value);
          }}
           onRequestSearch={() => loadUsers({
             variables: {
               where: {email_contains: searchItem}
             }
           })}

        />
    </div>
  );

1 Ответ

2 голосов
/ 19 апреля 2020

Синтаксическая ошибка верна (и должна указывать на точное местоположение проблемы) - там есть паразит }:

users(where: $where}) {
#                  ^
...