Skip to content

Commit

Permalink
Fix useMutation defaultOptions overwrite issue
Browse files Browse the repository at this point in the history
Migrating the React Apollo `Mutation` component code into this repo
uncovered a bug with the way we're setting options in `useMutation`.
This commit makes sure we're no longer accidentally overwriting
`defaultOptions` settings with `undefined`.
  • Loading branch information
hwillson committed Jul 8, 2020
1 parent 4ef6de5 commit b273d03
Showing 1 changed file with 2 additions and 30 deletions.
32 changes: 2 additions & 30 deletions src/react/data/MutationData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,37 +80,9 @@ export class MutationData<
private mutate(
mutationFunctionOptions: MutationFunctionOptions<TData, TVariables>
) {
const {
mutation,
variables,
optimisticResponse,
update,
context: mutationContext = {},
awaitRefetchQueries = false,
fetchPolicy,
errorPolicy,
} = this.getOptions();
const mutateOptions = { ...mutationFunctionOptions };

const mutateVariables = Object.assign(
{},
variables,
mutateOptions.variables
);
delete mutateOptions.variables;

return this.refreshClient().client.mutate({
mutation,
optimisticResponse,
refetchQueries:
mutateOptions.refetchQueries || this.getOptions().refetchQueries,
awaitRefetchQueries,
update,
context: mutationContext,
fetchPolicy,
errorPolicy,
variables: mutateVariables,
...mutateOptions
...(this.getOptions() || {}),
...(mutationFunctionOptions || {})
});
}

Expand Down

0 comments on commit b273d03

Please sign in to comment.