如何编写graphqlquery从表中获取数据并使用Typescript在前端显示并做出反应?

时间:2020-04-20 11:33:42

标签: reactjs typescript graphql

我想使用graphql,apolloclient,打字稿和React从msqltable查询数据。

我要做什么? 我有一个包含以下字段的用户表

id companyId

现在我只想为所有用户显示team_id

架构如下所示,

type User {
  id: ID!
  team: Team!
}
type Team {
  id: ID!
  companyId: String!
}

type Query {
  listUser: User,
}

我有如下查询

import gql from 'graphql-tag';

export const LIST_USER = gql`
    query ListUser {
        listUser {
            Team {
                id
                companyId
            }
        }
    }
`;

在graphql下

listUser: async (parent, context) => {
    const data = await context.dbHandler({
        sql: 'SELECT * FROM user',
    });
    return data;
},


export default queries;

从前端我提供的其中一个组件

import { useApolloClient } from '@apollo/react-hooks';
function someComponent = () => {
    const apolloClient = useApolloClient();
    const output = async () => {
        await apolloClient
        .query({ query: LIST_USER })
        .then(({ data }: any) => data);
    };
    const output1 = output();
    console.log('output****', output1);
}

这给我一个错误,提示“无法查询类型为Query的字段” listUser” ...我不确定这是怎么回事。我是使用graphql方法的新手...有人可以帮助我解决此问题。谢谢。

0 个答案:

没有答案