title: After GraphQL Query: Property 'then' does not exist on type 'void'
body: <p>I was using graphql mutations like this and the .then &amp; .catch work perfectly:</p>
  
  <pre><code>  let submitForm = (
      email: string,
      firstName: string
    ) =&gt; {
      setIsSubmitted(true);
  
      if (email &amp;&amp; (firstName)) {
        const input: UpdateUserInput = {};
        if (firstName) {
          input.firstName = firstName;
        }
        updateUser({
          variables: {
            email: email,
            input: input,
          },
        })
          .then(({ data }: ExecutionResult&lt;UpdateUserResponse&gt;) =&gt; {
            if (data !== null &amp;&amp; data !== undefined) {
              setIsUpdated(true);
            }
          })
          .catch((error: { message: string }) =&gt; {
            console.log('Error msg:' + error.message);
          });
      }
    };
  </code></pre>
  
  <p>Now I am doing something similar here for a graphql query (fuller working version below):</p>
  
  <pre><code>let ShowUsers = () =&gt; {
      const where: WhereInput = {};
      if (criteria === '2') {
        if (searchItem) {
          where.firstName_contains = searchItem;
          loadUsers({
            variables: {
              where: where
            },
          })
          .then(({ data }: any) =&gt; {
            if (data !== null &amp;&amp; data !== undefined) {
            }
          })
        }
      }
  }
  </code></pre>
  
  <p>but I keep getting an error on then that <code>Property 'then' does not exist on type 'void'</code></p>
  
  <p>Edit:</p>
  
  <p>Without the .then, .catch, my code works correctly. Full form is something like this:</p>
  
  <pre><code>function UserSearchPage() {
    const [criteria, setCriteria] = useState('');
    const [searchItem, setSearchItem] = useState('');
  
    const [loadUsers, { loading, data }] = useLazyQuery(LoadUsersQuery);
  
    function PrintUsers({ data }: any) {
      return (
        &lt;div&gt;
          {data &amp;&amp;
            data.users.nodes &amp;&amp;
            data.users.nodes.map((c: any, i: any) =&gt; (
              &lt;li key={i}&gt;
                Id: {c.id}, First Name: {c.firstName}, Last Name: {c.lastName},
                Email: {c.email}, phoneNumber: {c.phoneNumber}
              &lt;/li&gt;
            ))}
        &lt;/div&gt;
      );
    }
  
    let ShowUsers = () =&gt; {
      const where: WhereInput = {};
      if (criteria === '1') {
        loadUsers({
          variables: {
            where: where
          },
        });      
      }
  
      if (criteria === '2') {
        if (searchItem) {
          where.firstName_contains = searchItem;
          loadUsers({
            variables: {
              where: where
            },
          });
        }
      }
    };
    return (
  .....);
  }
  </code></pre>
  
  <p>This is how the GraphQL query itself looks like:</p>
  
  <pre><code>interface UserFilter {
    email_contains: String;
    firstName_contains?: String;
    lastName_contains?: String;
    phoneNumber_contains?: String;
    id?: Number;
  }
  export const LoadUsersQuery = gql`
    query usersList($where: UserFilter) {
      users(where: $where) {
        nodes {
          id
          email
        }
        totalCount
      }
    }
  `;
  </code></pre>
  
  <p>How else can I access the data properties/errors?
  From the console.log, I know that this is returned:</p>
  
  <pre><code>Object
  
  __typename: "User"
  
  email: "first@first.com"
  
  firstName: "First"
  
  id: 148
  
  lastName: "User"
  
  phoneNumber: "+49123"
  </code></pre>
  
  <p>But if I try to access lets say <code>data.users.id</code>, why do I get undefined? How can I fix this?</p>