我正在使用react-apollo构建一个react本机应用程序。我无法处理graphql错误。我尝试了一些方法,但它不起作用。我怎样才能捕获graphql错误?这是我的代码;
export default compose(
graphql(UpdateCounter, {
options: {
fetchPolicy: 'cache-and-network'
},
props: (props) => ({
appSyncUpdateCounter: (post) => {
props.mutate({
variables: post,
optimisticResponse: () => console.log('...'),
update: (cache, mutationResult) => {
console.log(JSON.stringify(mutationResult, null, 2));
if (mutationResult.data.updateCounter) {
console.log(mutationResult.data.updateCounter);
}
},
}).catch((e) => { console.log(e.graphQLErrors); });
}
}),
}),
)(Counter);
由于您要包装Counter组件,因此需要调用并捕获该承诺。另外,我会使用react-apollos新的Mutation组件并简单地将其包装在<ErrorBoundary />
中。它将取代上述代码的需要。