Apollo 客户端错误,对象作为 React 子项无效(找到:[object Promise])

Apollo Client Error, Objects are not valid as a React child (found: [object Promise])

我在尝试对我的 graphql 查询执行 async/await 时收到一个奇怪的错误。不知道在这里做什么。

import React, { Component } from "react";
import { ApolloConsumer } from 'react-apollo';
import Landing from '../modules/landing/index.js';
import getUser from '../shared/services/get-user';

export default class extends Component {
  checkLoggedIn = async (client) => {
    const response = await getUser(client);
    console.log(response);
  }

  render() {
    return (
      <ApolloConsumer>
        {client => (
          <div>
            {this.checkLoggedIn(client)}
            <Landing />
          </div>
        )}
      </ApolloConsumer>
    )
  }
}

如果我删除异步等待语法,应用程序将继续执行我的 getUser 查询。但是,当我尝试使用 async/await 执行此操作时。我的应用程序显示上述错误。 ApolloConsumer 有什么不明白的地方吗?

您收到错误的原因是 async 函数 returns 一个承诺。而且,您正试图在 render 方法中呈现一个承诺。这不是 Apollo 特有的错误,React 根本不允许这样做。

当你没有 async 时它工作的原因是因为 returns undefined 函数在渲染方法中被视为 null并且不渲染任何东西。