Я получаю следующую ошибку: ожидаемое имя, найдено $ при запуске запроса GraphQL из React с использованием Apollo. Запрос отлично работает в GraphiQL - PullRequest
0 голосов
/ 11 июля 2020

Вот запрос GraphQL:

const movieByName = gql`
  query SomeName($name: String!){
    movieByName(name: $name){
      name
      genre
      year
    }
  }`

Он отлично работает на graphiql, а вот схема

  type Query {
    movies: [Movie],
    movieByName(name: String!): Movie
  }
  type Movie {
    name: String,
    genre: String,
    year: String
  }

Вот последний файл кода:

import React, { Component } from 'react';
import {HashLink as Link} from 'react-router-hash-link' 
import { graphql } from 'react-apollo';
import { gql } from "apollo-boost";


const movieByName = gql`
  query SomeName($name: String!){
    movieByName(name: $name){
      name
      genre
      year
    }
  }`

class Header extends Component {
  state = {
    name: '',
    genre: '',
    year: ''
}

searchSubmit = (event) => {
  event.preventDefault()
  console.log(this.props)
}

render(){
  return (
    <div className="topnav">
      <a className="logo" href="/">Movie Maker</a>
      <div className="search-container">
        <form onSubmit={this.searchSubmit}>
          <Link smooth to="#form">Add Movies</Link>
          <input type="text" placeholder="Search.." name="search" 
            onChange={(e) => this.setState({name: e.target.value})}/>
          <button type="submit"><i className="fa fa-search"></i></button>
        </form>
      </div>
    </div>
  );
}}


export default graphql(movieByName)(Header)
...