给出一些使用react-adopt定义的突变:
import { Mutation } from 'react-apollo';
import { adopt } from 'react-adopt';
...
const Composed = adopt({
updateItem: ({ itemId, render }) => (
<Mutation
mutation={UPDATE_ITEM_MUTATION}
refetchQueries={[{ query: SINGLE_ITEM_QUERY, variables: { id: itemId } }]}
>
{render}
</Mutation>
),
... other mutations ...
});
如何捕获<Composed>
中任何突变引发的错误?我尝试了以下方法:
const ExampleComponent = () => (
<Composed itemId={this.props.id}>{
({ updateItem, ... other mutations ...}) => {
const updateItemError= updateItem.error;
if (updateItemError) {
return <DisplayError error={updateItemError}</DisplayError>;
}
}
}
)
但是在这种情况下,updateItem是一个函数(而如果updateItem是查询而不是突变,则它将是一个对象,并且我可以访问它的error
属性