Я пытаюсь сделать запрос в Apollo Client с React, не возвращая компонент JSX, просто объект (объект data
, полученный при выполнении общего запроса к серверу Apollo).
Я попытался использовать компонент <Query />
, но он возвращает мне React Node, и мне нужен только объект.Документация объясняет только методы, которые возвращают компоненты JSX в какой-то момент, когда все, что я хочу сделать, это отправить запрос и обработать ответ в обратном вызове.
На самом деле я пытаюсь таким образом (яиспользуя TypeScript в React):
import React from 'react';
import { withApollo } from 'react-apollo';
import gql from 'graphql-tag';
const MY_QUERY = gql`
query MY_QUERY {
myQuery {
attr1
attr2
}
}
`;
const res = ({ client }: { client: any }) =>
client
.query(MY_QUERY)
.then((data: { data: any }) => data);
withApollo(res);
console.log(res);
При этом я ищу такой объект, как
{
"data": {
"myQuery": [
{
"attr1": "something 1...",
"attr2": "another thing 1..."
},
{
"attr1": "something 2...",
"attr2": "another thing 2..."
},
{
"attr1": "something 3...",
"attr2": "another thing 3..."
}
]
}
}
Но я получаю из браузера
ƒ WithApollo(props) {
var _this = _super.call(this, props) || this;
_this.setWrappedInstance = _this.setWrappedInstance.bind(_this);
return _this;
}
Есть предложения?