如何从GraphQL查询返回数组?

时间:2019-06-15 14:29:29

标签: javascript reactjs graphql apollo prisma

我希望能够在GraphQL查询的返回值上使用mapfilter函数,但是尽管被指定为数组,但查询结果仍为对象格式。

我当前正在使用react-apollo-hooks

 const { data: cartData, error: cartError, loading: cartLoading } = useQuery(CART_INFO)

我在前端指定了gql,如下所示:

export const CART_INFO = gql`
    query {
        cart {
            id
            quantity
            startDate
            endDate
            post {
                title
                image
                price
            }
            user {
                firstName
            }
        }
    }
`

这是公开给前端的模式:

cart: [CartItem!]!

最后是解析器:

cart(parent, args, { prisma, request}, info){
        const userId = getUserId(request)
        const opArgs = {
            where: {
                user: {
                    id: userId
                }
            }
        }
        return prisma.query.cartItems(opArgs, info)
    },

当我console.log返回cartData或通过游乐场运行查询时,它返回的结果看起来像是包裹在[]括号中的数组,但是当我{{1 }}结果,表明它是一个对象。这意味着typeofmap函数将不起作用。

0 个答案:

没有答案