从graphql()创建的高阶组件中获取MutationResult可以通过以下步骤实现:
react-apollo
。graphql()
函数将GraphQL查询或变异绑定到组件上。例如,如果你要绑定一个变异,可以这样做:import { graphql } from 'react-apollo';
import { myMutation } from './graphql/mutations';
class MyComponent extends React.Component {
// 组件的代码...
}
export default graphql(myMutation)(MyComponent);
this.props.mutate
来访问绑定的变异函数。这个函数返回一个Promise,它会在变异完成后解析为MutationResult对象。class MyComponent extends React.Component {
handleMutation = () => {
this.props.mutate()
.then((result) => {
// 在这里处理MutationResult对象
console.log(result);
})
.catch((error) => {
// 处理错误
console.error(error);
});
}
render() {
// 渲染组件的代码...
}
}
data
、errors
和loading
等属性。你可以根据需要使用这些属性来处理变异的结果。class MyComponent extends React.Component {
handleMutation = () => {
this.props.mutate()
.then((result) => {
// 获取变异的结果数据
const { data, errors, loading } = result;
if (loading) {
// 正在加载中...
} else if (errors) {
// 处理错误信息
console.error(errors);
} else {
// 处理成功的结果数据
console.log(data);
}
})
.catch((error) => {
// 处理错误
console.error(error);
});
}
render() {
// 渲染组件的代码...
}
}
这样,你就可以从graphql()创建的高阶组件中获取MutationResult了。根据具体的业务需求,你可以进一步处理MutationResult对象中的数据和错误信息,以及展示加载状态等。
领取专属 10元无门槛券
手把手带您无忧上云