Не удается записать данные из API JSON-сервера с GraphQL - PullRequest
0 голосов
/ 06 апреля 2019

Я создал API с JSON-сервером, и я пытаюсь извлечь из него данные с помощью React-Apollo Client.Я пытаюсь записать данные из API на консоли с тегом Query, деструктурируя и передавая переменную данных в console.log.Я понятия не имею, почему функция игнорирует этот console.log

JSON-сервер работает на PORT 4000 Сервер работает на PORT 5000 Клиент работает на PORT 3000

Я уже использую corstool

Компонент:

const BOOKS_QUERY = gql`
    query BooksQuery {
        books {
            title
            author
            editionYear
        }
    }
`;

<Query query={BOOKS_QUERY}>
  {({ loading, error, data }) => {
     if (loading) return <h4>Loading...</h4>;
     if (error) console.log(error);
     console.log(data);

    return <h1>test</h1>;
  }}
</Query>

Схема:


const BookType = new GraphQLObjectType({
    name: 'Book',
    fields: () => ({
        id: { type: GraphQLInt },
        title: { type: GraphQLString },
        author: { type: GraphQLString },
        editionYear: { type: GraphQLInt }
    })
});

//Root Query

const RootQuery = new GraphQLObjectType({
    name: 'RootQueryType',
    fields: {
        books: {
            type: new GraphQLList(BookType),
            resolve(parent, args) {
                return axios.get('http://localhost:4000/books').then((res) => res.data);
            }
        },
        book: {
            type: BookType,
            args: {
                id: { type: GraphQLInt }
            },
            resolve(parent, args) {
                return axios.get(`http://localhost:4000/books/${args.id}`).then((res) => res.data);
            }
        }
    }
});

module.exports = new GraphQLSchema({
    query: RootQuery
});


API:


{
    "books": [
        {
            "id": "1",
            "title": "Java How To Program",
            "author": "Deitel & Deitel",
            "editionYear": "2007"
        },
        {
            "id": "2",
            "title": "Patterns of Enterprise Application Architecture",
            "author": "Martin Fowler",
            "editionYear": "2002"
        },
        {
            "id": "3",
            "title": "Head First Design Patterns",
            "author": "Elisabeth Freeman",
            "editionYear": "2004"
        },
        {
            "id": "4",
            "title": "Internet & World Wide Web: How to Program",
            "author": "Deitel & Deitel",
            "editionYear": "2007"
        }
    ]
}

Я ожидаю, что только данные API будут зарегистрированыприставка.Позже я выведу эти данные на экран.

Спасибо!

...