Мы работаем с graphQL и React Apollo 2.1 для выполнения некоторых запросов. Запрос имеет три вложенных компонента. Запрос отлично работает в графике, и мы получаем результаты для всех полей. Как только мы поместим его в приложение и сделаем вызов, мы получим все поля, кроме вложенных, которые возвращаются как нулевые. Ниже DeviceList вызывает соединитель запросов, который вызывает запрос. Есть идеи?
export const mapDeviceQuery = gql
query mapDeviceQuery($input: String, $type: DeviceSearchEnum) {
devices(input: $input, type: $type) {
id
client
productKey
alias
imei
subFleet
warranty
isActive
locate{
latitude
longitude
speed
heading
date
time
}
address{
full
street_address
city
state
zip
}
}
}
deviceList.hoc.js
render = ({loading, error, data} = this.props) => {
let deviceList = [];
if(data.devices){
console.log(data.devices);
for(let i=0; i<data.devices.length; i++){
if(data.devices[i].isActive){
let d = data.devices[i];
deviceList.push({
key : i,
alias : d.alias,
driver : d.driver,
subFleet : d.subFleet,
imei : d.imei,
address : d.address.full,
date : d.locate.date,
time : d.locate.time
});
}
}
}
queryconnector.js
import React, { Component } from 'react';
import { Query } from "react-apollo";
const queryConnector = (queryGQL) => WrappedComponent => {
class QueryConnector extends Component {
render = () => {
return (
<Query query={queryGQL}>
{({ loading, error, data }) => {
console.log(loading)
console.log(data)
return (
<WrappedComponent
runQuery={queryGQL} loading={loading} error={error} data={data}
{...this.props}
/>
)
}}
</Query>
)
}
}
return QueryConnector
}
export default queryConnector