React Apollo, показывающий, что «response-apollo поддерживает только запрос, подписку или мутацию на HOC» - PullRequest
2 голосов
/ 22 октября 2019

Я получаю следующую ошибку:

ExceptionsManager.js: 74 response-apollo поддерживает только запрос, подписку или мутацию для HOC. У [объекта Object] было 2 запроса, 0 подписок и 0 мутаций. Вы можете использовать 'compose' для объединения нескольких типов операций с компонентом

, хотя я использую compose в своем компоненте:

import React from 'react'
import {
    View,
} from 'react-native'
import { compose, graphql } from 'react-apollo'


import { GET_ITEM, GET_REVIEWS } from '../graphql/query'

const PostingDetail = ({ navigation }) => {

    console.log("itemQuery", itemQuery)

    return (
        <View>
        </View>
    )
}

export default compose(
    graphql(GET_ITEM, { name: 'itemQuery'}), 
    graphql(GET_REVIEWS, { name: 'reviewsQuery'}), 
)(PostingDetail)

GraphQL для GET_REVIEW:

export const GET_REVIEWS = gql'
    query Reviews($id: ID!) {
        reviews(
            id: $id
        )
    }{
        author {
            firstName
            lastName
        }
        comment
        createdAt
    } 
'

GraphQL для GET_ITEM:

export const GET_ITEM = gql'
    query Post($id: ID!) {
        post(
            id: $id
        ){
            id
            title
            body
            location
            price
            image
            quantity
            author {
                id
                firstName
                lastName
            }
            latitude
            longitude
            booking {
                startDate
                endDate
            }
        }
    }
'

1 Ответ

1 голос
/ 23 октября 2019

Не совсем исправление для метода, который вы сейчас пытаетесь, но переход на React Hooks и useQuery сделает ваш код проще.

import React from 'react'
import {
    View,
} from 'react-native'
import { compose, graphql } from 'react-apollo'
import { GET_ITEM, GET_REVIEWS } from '../graphql/query'
import { useQuery } from '@apollo/react-hooks';


const PostingDetail = ({ navigation }) => {

  const { data: itemData } = useQuery(GET_ITEM});
  const { data: reviewData } = useQuery(GET_REVIEWS});

    console.log("itemQuery", itemData)
    console.log("reviewQuery", reviewData)

    return (
        <View>
        </View>
    )
}
...