1

我有一个附加了 Apollo 查询的父组件:

const withData = graphql(MY_QUERY, {
    options({ userID }) {
        return {
            variables: { _id: userID}
        };
    },
    props({ data: { loading, getOneUser } }) {
        return { loading, getOneUser };
    },
});

export default compose(
    withData,
    withApollo
)(NavigatorsList);

export { getOneUser_QUERY };

userPhoto在渲染函数中有一个名为嵌入的子组件:

   return (
        <div>
            <userPhoto />
            [.....]
        </div>
        )

如果没有子组件,withData GraphQL 函数会运行两次,一次是 for loading == true,一次是返回数据。

包含子组件后,withData GraphQL 函数运行了 3 次。第三次getOneUser未定义,我的组件抛出错误。

我该如何纠正?

提前感谢所有人提供的任何信息。

4

1 回答 1

0

固定的。子组件中存在语法错误,它没有引发错误,但导致查询运行两次 + 各种其他异常。

于 2016-11-11T02:30:37.050 回答