Since version 2.1 Apollo Client uses React's render props pattern.
On the official Apollo Client documentation variables are passed as parameter to the mutation function:
addTodo({ variables: { type: input.value } });
however various tutorials, including How to GraphQL, pass them as props:
<Mutation mutation={POST_MUTATION} variables={{ description, url }}>
What are there reasons for choosing one way or the other?