React Relay Uncaught RelayNetwork:没有返回操作数据

Spa*_*ose 6 relay reactjs graphql

我看到这个错误:

Uncaught RelayNetwork: No data returned for operation
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中。我正在使用带有“relay-runtime”的 Relay Modern:“1.7.0”

我遇到的问题是如何捕获这些错误。我觉得无论我将 try/catch 放在哪里,这个错误都会一直困扰着我。

例如

const mutation = graphql`
    mutation MyMutation($input: UpdateMe!) {
        updateSomething(input: $input) {
            article {
                ...things_stuff
            }
        }
    }
`;

export default ({
    rowId,
    ...patch
}: Patch): Promise<GreatTypes> =>
    new Promise((resolve, reject) => {
        commitMutation(environment, {
            mutation,
            variables: {
                id,
            },
            onCompleted: (resp, err) => {
                if (err) {
                    console.log('onCompleted @ sdfg');
                    return reject(err);
                }
                return resolve(resp);
            },
            onError: err => {
                console.log('onError @ sdfg');
                return reject(err);
            },
        });
    });
Run Code Online (Sandbox Code Playgroud)

Cas*_*per -1

我遇到了同样的错误,最终对我来说问题是我使用 axios 作为获取 graphql 的基本 api 客户端,而我的返回不正确。打电话后我不得不返回response.data

const client = getAxiosClient();
const res = await client.post("", query);
return res.data;
Run Code Online (Sandbox Code Playgroud)

我解决的其他一些问题是通过模仿此链接中的配置发现的: https://relay.dev/docs/getting-started/step-by-step-guide/