import React from 'react'; import { useQuery, gql } from '@apollo/client';
const GET_POSTS = gql query GetPosts { posts { id title body } }
;
function PostList() { const { loading, error, data } = useQuery(GET_POSTS);
if (loading) return
Loading...
; if (error) returnError :(
;return (
{post.body}
import React, { useState } from 'react'; import { useQuery, gql } from '@apollo/client';
const GET_USER = gql query GetUser($email: String!) { user(email: $email) { id name email } }
;
function UserDetail({ email }) { const [status, setStatus] = useState(''); const { loading, error, data } = useQuery(GET_USER, { variables: { email }, onCompleted: () => setStatus('completed'), onError: () => setStatus('error'), });
if (status === 'completed') { return (
{data.user.email}
Invalid email.
; } return loading ?Loading...
: null; }const { loading, error, data } = useQuery(GET_USER, { variables: { email }, fetchPolicy: 'cache-and-network', });