Вам может потребоваться отправить переменные в компонент мутации, например:
<Mutation mutation ={CREATE_AUTHOR} variables={{"firstName": firstName, "lastName": lastName}}>
ОБНОВЛЕНИЕ
Хотя это не совсем то, что вы ищетеВот как я делаю мутации Аполлона в это время.
Функция, принадлежащая классу компонентов React:
sendInstantMsg(createIM) {
const textToSendElem = document.getElementById("textToSend");
const textToSend = textToSendElem.value;
const {toID} = this.props;
const fromID = Meteor.userId();
const msgText = trimInput(textToSend);
createIM({
variables: {
"fromID": fromID,
"toID": toID,
"msgText": msgText
},
optimisticResponse: {
__typename: 'Mutation',
createIM: {
__typename: 'instant_message',
id: -1,
fromID: fromID,
toID: toID,
msgText: msgText,
createdAt: +new Date
},
},
update: (cache, {data: {createIM}}) => {
let cacheData = cache.readQuery({query: GETIMS_QUERY, variables: {"fromID": fromID, "toID": toID}});
let instant_message = cacheData.instant_message;
if (!isDuplicateObject(createIM, instant_message)) {
instant_message.push(createIM);
cache.writeQuery({
query: GETIMS_QUERY,
data: {instant_message},
variables: {"fromID": fromID, "toID": toID}
});
}
textToSendElem.value = "";
scrollToBottomOfTextMsgs();
}
})
}
В функции рендеринга:
<Mutation
mutation={CREATE_IM_MUTATION}
>
{(createIM, {data}) => (
<RaisedButton
id="sendMsgButton"
label="SEND"
style={styles.makeApptButton}
secondary={true}
onClick={() => this.sendInstantMsg(createIM)}
/>
)}
</Mutation>