handleMutation
не следует вызывать из рендера, вы можете использовать graphql
HOC из Reaction-Apollo и получить мутацию в props и использовать ее в методе жизненного цикла реагирования для извлечения данных.
graphql(SIGN_UP, {
name: 'signUp'
})(SignUp)
componentDidMount () {
this.props.signUp({
variables: {
shortLivedToken: this.props.match.params.token
}
})
}
Ваша handleMutation
функция должна быть такой, как указано ниже:
handleMutation = async mutation => {
try {
const res = await mutation({variables: this.props.match.params.token})
console.log(res)
} catch (e) {
console.log(e)
}
// const token = res.data.signUp.token
// localStorage.setItem(AUTH_TOKEN, token)
// this.setState({ error: e.message })
// }
}
, и вы можете также вызывать эту функцию с componentDidMount
.
Надеюсь, что этопоможет