开发者问题收集

react.js 使用 apollo 来查询 graphql - 错误:对象作为 React 子对象无效

2019-03-01
630

我在使用 apollo 查询 graphql 端点时遇到 react.js 问题。以下是出现问题的代码。

class ChecklistSummaryTime extends Component {
constructor(props) {
    super(props);
    this.state = {
       data: [],
       sitePath: window.location.pathname
    }
 }

 render() {
     return(
        <ApolloProvider client={getGraphqlClient()}>
            <Query query={gql`
                {
                    all_checklist_time (checklist_type: "backup", order_by: "check_year check_month", 
                            sort_order: "desc desc", group_by: "check_month check_year") {
                            quarter,
                            month,
                            year
                    }
                }
            `}>
            {({ loading, error, data }) => {
                if (loading) return "Loading...";
                if (error) return `Error! ${error.message}`;
                console.log(data);
                return data;
            }}
            </Query>
        </ApolloProvider>
     );
 }}

出现错误“错误:对象作为 React 子项无效(找到:带有键 {all_checklist_time} 的对象)。如果您想要渲染子项集合,请改用数组。”

请帮我找出 gql 部分出了什么问题?

谢谢

1个回答

您看到的错误意味着 return data 返回的是一个对象,它不是有效的 React 子对象。您应该将其转换为数组、文本或组件。如果 all_checklist_time 是一个数组,则只需 return data.all_checklist_time

helloitsjoe
2019-03-01